Есть пул тредов все они работают ассинхронно получая данные от одного треда (INPUT) и отдавая данные другому (OUTPUT). Вопрос: как вы считаете лучше организовать I/O ? Приходят в голову два варианта:
1) INPUT перебирает в цикле все треды пока не найдет свободный, дает ему данные и активизирует его. Так же в цикле опрашивает все треды OUTPUT, находит отработавший, забирает данные и деактивизирует его.
2) Тред отработав блокирует очередь "готовых отдать данные тредов", добавлет туда себя, разюлокирует очередь и засыпает. OUTPUT блокирует ту же очередь, достает информацию, разблокирует очередь, блокирует очередь "готовых принять данные тредов", добавляет туда информацию об этом треде и разблокирует очередь. INPUT блокирует эту очередь, достает от туда информацию о свободном треде, разблокирует очередь, передает данные треду и активизирует его.
Что лучше ? Во-втором случае информация о конкретном свободном треде но сплошные блокировки, в первом случае отсутствие блокировок но тупой перебор все тредов...
Что будет быстрее работать ???
Ответ на:
комментарий
от roy
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от forgiven
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Тред. (2012)
- Форум Треды (2004)
- Форум треды (2006)
- Форум Свободы тред. (2016)
- Форум Новогодний тред (2015)
- Форум Марсианина тред. (2015)
- Форум эпичные треды (2015)
- Форум Наушников тред (2015)
- Форум Наушников тред (2015)
- Форум джаза тред (2015)