System.Threading和CPU内核中的线程数。

问题描述 投票:0回答:1

是使用 System.Threading 取决于CPU中的物理线程?两者之间有直接的一对一关系吗?

假设我创建了10个线程,如下图所示,而CPU有4个核心,8个线程,这是否意味着只有8个线程会同时运行,而对于另外2个线程,CPU会进行任务切换?

Thread[] threads = new Thread[10];
c# multithreading cpu core
1个回答
1
投票

不要为了等待IO完成而创建线程。 该 async/await 模式将帮助您,通过等待IO完成,同时释放这些线程来做其他有用的工作。

另外需要记住的是,如果你同时调用你的另一个服务10次(或100次或1000次),如果这个服务也在等待IO,那么你仍然有可能需要16分钟来完成你的任务。

© www.soinside.com 2019 - 2024. All rights reserved.