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是多线程安全的吗的主要内容,如果未能解决你的问题,请参考以下文章

java是线程安全的吗

HashMap是线程安全的吗?如何实现线程安全?

lua引擎本身是线程安全的吗

Redis到底是多线程还是单线程?线程安全吗

Controller是单例模式的吗?如何保证线程安全?

列表是线程安全的吗?