gpt4 book ai didi

multithreading - libuv-事件循环和线程

转载 作者:行者123 更新时间:2023-12-03 12:55:38 24 4
gpt4 key购买 nike

我知道事件循环在单个进程(因此,在单个内核)上运行,但是我想知道从那里启动线程时会发生什么。

如果我使用uv_thread_createuv_queue_work启动多个线程,它们是否可以在多个内核上运行(如果可用)?

我希望他们能这样做,因为(至少在Unix上)所有内容都基于pthread,可以扩展到多个内核,但是我不知道。

另外,由于我在移动设备上,因此我现在无法编写代码来检查该内容。我刚刚发布帖子,看看你们中是否有人已经知道答案了。

节日快乐。

编辑:我做了测试代码,一切都运行在单个内核上。

最佳答案

这实际上取决于内核,但是通常,它将调度每个线程到不同的内核(如果您有多个线程),以便可以并行运行代码。但是请注意,libuv不是线程安全的(uv_async_send除外),因此,如果您一次执行多个线程(一旦成为事件循环),则从循环线程外部调用libuv函数是不安全的。

关于multithreading - libuv-事件循环和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27624547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com