const是多线程安全的吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const是多线程安全的吗相关的知识,希望对你有一定的参考价值。
参考技术A 只读当然是多线程安全的。如果是const int和const char和const char*之类的简单类型,编译器还会优化掉变量,直接使用值(只读数据段)
asyncio.run_in_executor 是多线程的吗?
【中文标题】asyncio.run_in_executor 是多线程的吗?【英文标题】:Is asyncio.run_in_executor multithreading? 【发布时间】:2020-09-22 09:42:43 【问题描述】:事件循环是线程特定的,因为 asyncio 是关于使用单线程的协作多任务处理。所以我不明白asyncio.run_in_exceutor
是如何与ThreadPoolExcecutor
一起工作的?
【问题讨论】:
这正是重点,run_in_executor
允许您在事件循环之外运行代码(使用您选择的执行程序)。你的问题是关于这个功能的目的还是它的技术方面?
@Vincent 谢谢你的评论,我想知道这个函数的用途
【参考方案1】:
我想知道函数的用途
loop.run_in_executor awaitable 有两个主要用例:
执行无法通过选择器循环的文件描述符接口管理的 I/O 操作(即使用 loop.add/remove_reader 方法)。这种情况偶尔会发生,看看loop.getaddrinfo 的code 如何在后台使用loop.run_in_executor
。
执行繁重的 CPU 操作会阻塞事件循环上下文切换机制太久。有很多合法的用例,例如在异步应用程序的上下文中运行一些数据处理任务。
【讨论】:
以上是关于const是多线程安全的吗的主要内容,如果未能解决你的问题,请参考以下文章