我正试图用Python重写一些C OMP程序,以进行演示。但是,我无法翻译可以在C中找到的循环调度程序(以下示例)
pragma omp parallel for schedule(static)
for(i=0; i<10; i++)
printf("\n Process = %d, i = %d", omp_get_thread_num(),i);
特别是,我需要演示动态调度程序和静态调度程序之间的差异。
Python中是否有诸如线程调度程序之类的东西?
标准库中有一个动态线程调度程序-concurrent.futures.thread.ThreadPoolExecutor
。我不认为Python可以执行静态编译时调度。如果您甚至可以说一门关于大多数被解释的语言的编译时,Python在编译时所做的工作很少。由于GIL(全局解释器锁定),静态调度也没有多大意义。