Как использовать блокировки многопроцессорности в joblib?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать блокировки многопроцессорности в joblib?

Сообщение Anonymous »

Я хочу использовать блокировку в joblib с использованием серверной многопроцессорности или loky. Кажется, что с использованием многопроцессорности стандартной библиотеки все достаточно просто, но с joblib все не так: он жалуется, что блокировку невозможно взломать:

Код: Выделить всё

#!Python
from multiprocessing import Process, Lock
from joblib import Parallel, delayed

def f(l, i):
l.acquire()
try:
print('hello world', i)
finally:
l.release()

if __name__ == '__main__':
lock = Lock()

for num in range(10):
Process(target=f, args=(lock, num)).start()

Parallel(n_jobs=2)(delayed(f)(lock, i) for i in range(10))
До сих пор я гуглил, читал документацию, искал проект joblib на GitHub и пробовал такие варианты, как реализация блокировки как глобальной переменной, но безрезультатно.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-joblib
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»