是使用 System.Threading
取决于CPU中的物理线程?两者之间有直接的一对一关系吗?
假设我创建了10个线程,如下图所示,而CPU有4个核心,8个线程,这是否意味着只有8个线程会同时运行,而对于另外2个线程,CPU会进行任务切换?
Thread[] threads = new Thread[10];
不要为了等待IO完成而创建线程。 该 async/await
模式将帮助您,通过等待IO完成,同时释放这些线程来做其他有用的工作。
另外需要记住的是,如果你同时调用你的另一个服务10次(或100次或1000次),如果这个服务也在等待IO,那么你仍然有可能需要16分钟来完成你的任务。