CPU核心中的System.Threading和线程数

时间:2020-05-07 10:43:41

标签: c# multithreading cpu core

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

如果我在CPU有4个核心和8个线程的情况下创建10个线程,是否意味着只有8个线程可以同时运行,而其他2个线程,CPU将执行任务切换?

Thread[] threads = new Thread[10];

1 个答案:

答案 0 :(得分:1)

不要创建线程只是为了等待I / O完成。 async/await模式将通过等待I / O完成,同时释放这些线程来执行其他有用的工作,来为您提供帮助。

要记住的另一件事是,如果您同时调用其他服务10次(或100或1000),并且该服务也在等待I / O,那么您仍然可以16分钟即可完成您的任务。