python多处理产生量

python多处理产生量,python,multiprocessing,cpu-time,Python,Multiprocessing,Cpu Time,我希望通过使用python多处理库在我的程序中使用并行化。为此,我想检查一个操作现在是否正确可行,如果不产生当前进程的数量,并允许下一个进程利用cpu时间,直到调度器决定再试一次 通过搜索,我发现time.sleep(0)似乎在为线程执行此操作。它也适用于流程吗?通常。在windows和类似unix的系统上,执行单元通常是线程。在任何进程中休眠一个进程,然后返回操作系统调度程序睡眠(0)是一种积极的轮询,通常不是正确的做法。理想情况下,在某种程度上对资源进行等待-但这取决于您正在等待的内容。我正

我希望通过使用python多处理库在我的程序中使用并行化。为此,我想检查一个操作现在是否正确可行,如果不产生当前进程的数量,并允许下一个进程利用cpu时间,直到调度器决定再试一次


通过搜索,我发现time.sleep(0)似乎在为线程执行此操作。它也适用于流程吗?

通常。在windows和类似unix的系统上,执行单元通常是线程。在任何进程中休眠一个进程,然后返回操作系统调度程序<代码>睡眠(0)是一种积极的轮询,通常不是正确的做法。理想情况下,在某种程度上对资源进行等待-但这取决于您正在等待的内容。我正在通过.recv函数等待zeromq消息。这个函数是阻塞的,我想确保如果消息延迟到达,不会浪费cpu时间。我计划在短时间内轮询一条消息是否可接收,并在没有消息到达时生成量程。我认为等待功能块释放线程,允许系统中的其他线程/进程运行。我认为不需要睡眠(0)。你的意思是recv()方法中有一个等待函数来阻止和释放线程吗?因此,最终我不必更改任何内容?zeromq recv函数等待数据。但这与“释放线程”相反。线程挂起,等待操作系统资源,如信号量或事件对象。由于线程已挂起,CPU将运行其他线程。当数据到达时,zeromq将释放资源,线程将退出等待,CPU将再次运行它。