Найти - Пользователи
Полная версия: Передача данных в нужные thread'ы зная имя потока
Начало » Python для новичков » Передача данных в нужные thread'ы зная имя потока
1 2
yurtaev
Возникла задача передавать данные в нужный поток. Каждый созданный поток имеет уникальное известное имя. Возможно ли это сделать и как правильнее это реализовать?

o7412369815963
в главном потоке хранить список дочерних потоков, ходить по этому списку и передавать данные
ZZZ
ИМХО, dict логичнее. Просто словарь имён потоков к потокам.
bw
Queue? Только идентификаторы/имена потоков здесь не причём.

p.s. Не может быть такого понятия как хранить данные в потоке, данные хранятся в памяти, а в случае многопоточной модели (один процесс) все потоки разделяют одно и то же адресное пространство. Остаётся только решить проблему одновременного доступа к участку памяти (я предлагаю посмотреть Queue для этого).

..bw
yurtaev
o7412369815963
в главном потоке хранить список дочерних потоков, ходить по этому списку и передавать данные
Для меня как раз и вопрос как передать данный в поток нужный… Извиняюсь если уж совсем что то глупое спрашиваю.
yurtaev
bw
Queue? Только идентификаторы/имена потоков здесь не причём.

..bw
Очереди как я понимаю не подходят, потому как допустим 20 поток начнут следить за очередью и будут брать данные не предназначенные для него.
bw
Это задача для подготовительной группы детского сада.
Сделай 20 очередей, кто мешает. Пусть каждый поток работает только со своей.

..bw
yurtaev
Если кратко то в каждом потоке живет клиент мессенджера (имеет своё имя), необходимо отправлять сообщения от нужного имени…
yurtaev
bw
Это задача для подготовительной группы детского сада.
Сделай 20 очередей, кто мешает. Пусть каждый поток работает только со своей.

..bw
Потоков может быть в один момент 20, а через минуту 100…
bw
Я не вижу в этом проблемы. Альтернативный вариант, это искать платформозависимые (ОСь) решения, но тут я ничего подсказать не могу. А вообще, я настоятельно не рекомендую увлекаться потоками в Python, особенно если они выполняют ресурсоёмкие вычисления (заметно утилизируют проц.). Хотя эта рекомендация распространяется на все случаи. Речь про системные потоки, не микронити (concurrence, greenlet, stackless).

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB