Планировщик потоков в python - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь переписать несколько C OMP-программ в Python для демонстрационных целей. Однако я не могу перевести планировщик l oop, который можно найти в C (пример ниже)

pragma omp parallel for schedule(static)
for(i=0; i<10; i++)
    printf("\n Process = %d, i = %d", omp_get_thread_num(),i);

В частности, мне нужно продемонстрировать различия между динамикой c и статистикой c планировщик.

Есть ли такая вещь, как планировщик потоков в Python?

1 Ответ

1 голос
/ 01 мая 2020

В стандартной библиотеке есть динамический планировщик потоков c - concurrent.futures.thread.ThreadPoolExecutor. Я не думаю, что Python может выполнять статическое планирование во время компиляции. Python делает очень мало во время компиляции, если вы даже можете сказать время компиляции о языке, который в основном интерпретируется. Планирование

Stati c также не имеет большого смысла из-за GIL (Global Interpreter Lock).

Теоретически это можно сделать, открыв привязки к некоторой библиотеке C или используя другие ароматы Python чем CPython, но imo Python просто не предназначен для такого рода вещей: P. См. этот ответ.

...