Как правильно обмениваться информацией в нескольких потоках в python? - PullRequest
1 голос
/ 05 августа 2020

Я создаю систему, которая требует обмена информацией из одного потока (первый генерирует информацию) со вторым потоком (сокетом).

Как я могу получить доступ к информации потока детектора в socketThread? Я попытался установить переменные как глобальные, и их можно найти в файле main.py. Хотя я не могу получить к ним доступ в потоке сокета.

from objDetect import *
from socketclient import *

import threading

   

detectorThread = threading.Thread(name='detect', target=detectorWorker)
socketThread = threading.Thread(name='api', target=runSocket)
socketThread.setDaemon(True)

try:
    detectorThread.start()
    socketThread.start()
except:
    print('[ERROR] Couldnt start detector.')

1 Ответ

0 голосов
/ 05 августа 2020

Вы можете использовать одну из различных потоковобезопасных очередей в модуле queue.

https://docs.python.org/3/library/queue.html

...