gpt4 book ai didi

在单核处理器上创建线程

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:58 24 4
gpt4 key购买 nike

我正在用 C 开发一个依赖于异步方法调用的应用程序。到目前为止,我尽最大努力使其跨平台,我目前正在实现如下所示的代码:

#ifdef TARGET_WINDOWS
//Windows threading API
#else
//pthreads API
#endif

我很欣赏可能有更好的方法来做到这一点,但这不是我的问题的重点。我的问题是,程序在单核处理器上会怎样?线程是否仍会异步执行(可能是交错指令),还是我只能在单核 CPU 上执行单线程?

最佳答案

归根结底,单个内核一次只能运行一个线程。线程调度程序将中断正在运行的线程,并为另一个线程提供运行指定量程的机会。

现在究竟发生什么取决于操作系统。但是,如果您的所有工作都受 CPU 限制,也许是一些密集的计算,那么由于上下文切换的成本,整体性能实际上可能会随着线程的增加而降低。但是,如果您正在等待 I/O,操作系统可以安排另一个线程同时运行以利用 CPU。

关于在单核处理器上创建线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12997628/

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