几天前,我有asked this question,当我今天早些时候在VM上安装Ubuntu时,终于得到了明确的答案。基本上,似乎在尝试设置程序的CPU时WSL的行为不正确。在WSL上,无论我是否使用sudo都运行我的代码,输出是相同的,所有线程看似随机打印。但是,在我的Ubuntu VM上,在不使用sudo的情况下运行相同的代码具有相同的效果,而在使用sudo的情况下运行则导致了代码的原始目标,并且使其他2个线程处于饥饿状态,从而仅允许具有最高亲和力的进程(在这种情况下, 40)进行打印。
我希望这里的人非常了解WSL,并可以帮助我实现预期的行为。