跟进来自多核用法,线程,线程池的问题.
线程在生命周期内是否从一个核心移动到另一个核心?
当然.想象一下,您在双核系统上运行了三个线程.向我展示一个公平的时间表,不涉及在核心之间定期移动线程.
这是我第一次访问这个网站,所以我没有足够的代表发表评论.我决定只提出一个新问题,引用我想评论的问题.
选择要移动线程的核心的过程是什么?它是否像调度程序有一个需要处理时间的线程列表,当一个完成时它会放入另一个?
另外,我想知道是否存在线程在核心之间移动的语句的引用.还是仅仅被认为是"普通知识"?
谢谢!
我是多线程的新手.我的计算机上有4个逻辑进程,我想在4个不同的核心上的线程中运行4个相同的任务.我该怎么做?我尝试使用BackgroundWorker但是4个BackgroundWorker实例只填充了4个可用的4个核心.我用BackgroundWorker的代码示例:
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerAsync(calculationParams);
BackgroundWorker worker1 = new BackgroundWorker();
worker1.DoWork += new DoWorkEventHandler(worker_DoWork);
worker1.RunWorkerAsync(calculationParams1);
BackgroundWorker worker2 = new BackgroundWorker();
worker2.DoWork += new DoWorkEventHandler(worker_DoWork);
worker2.RunWorkerAsync(calculationParams2);
BackgroundWorker worker3 = new BackgroundWorker();
worker3.DoWork += new DoWorkEventHandler(worker_DoWork);
worker3.RunWorkerAsync(calculationParams3);
Run Code Online (Sandbox Code Playgroud)