yurtaev
Июнь 28, 2010 18:11:31
Возникла задача передавать данные в нужный поток. Каждый созданный поток имеет уникальное известное имя. Возможно ли это сделать и как правильнее это реализовать?
o7412369815963
Июнь 28, 2010 18:16:25
в главном потоке хранить список дочерних потоков, ходить по этому списку и передавать данные
ZZZ
Июнь 28, 2010 18:23:08
ИМХО, dict логичнее. Просто словарь имён потоков к потокам.
bw
Июнь 28, 2010 18:25:18
Queue? Только идентификаторы/имена потоков здесь не причём.
p.s. Не может быть такого понятия как хранить данные в потоке, данные хранятся в памяти, а в случае многопоточной модели (один процесс) все потоки разделяют одно и то же адресное пространство. Остаётся только решить проблему одновременного доступа к участку памяти (я предлагаю посмотреть Queue для этого).
..bw
yurtaev
Июнь 28, 2010 18:25:53
o7412369815963
в главном потоке хранить список дочерних потоков, ходить по этому списку и передавать данные
Для меня как раз и вопрос как передать данный в поток нужный… Извиняюсь если уж совсем что то глупое спрашиваю.
yurtaev
Июнь 28, 2010 18:28:00
bw
Queue? Только идентификаторы/имена потоков здесь не причём.
..bw
Очереди как я понимаю не подходят, потому как допустим 20 поток начнут следить за очередью и будут брать данные не предназначенные для него.
bw
Июнь 28, 2010 18:30:35
Это задача для подготовительной группы детского сада.
Сделай 20 очередей, кто мешает. Пусть каждый поток работает только со своей.
..bw
yurtaev
Июнь 28, 2010 18:31:31
Если кратко то в каждом потоке живет клиент мессенджера (имеет своё имя), необходимо отправлять сообщения от нужного имени…
yurtaev
Июнь 28, 2010 18:33:11
bw
Это задача для подготовительной группы детского сада.
Сделай 20 очередей, кто мешает. Пусть каждый поток работает только со своей.
..bw
Потоков может быть в один момент 20, а через минуту 100…
bw
Июнь 28, 2010 18:58:50
Я не вижу в этом проблемы. Альтернативный вариант, это искать платформозависимые (ОСь) решения, но тут я ничего подсказать не могу. А вообще, я настоятельно не рекомендую увлекаться потоками в Python, особенно если они выполняют ресурсоёмкие вычисления (заметно утилизируют проц.). Хотя эта рекомендация распространяется на все случаи. Речь про системные потоки, не микронити (concurrence, greenlet, stackless).
..bw