Простейшая многопоточная очередь

alekcvp
Дата: 07.11.2019 17:52:14
Искал сабж и наткнулся на интересную тему на форуме:
http://delphi.cjcsoft.net/viewthread.php?tid=45763

Суть в том, что человек очередь организовал через CreateIoCompletionPort.

Вопрос: насколько это рабочая схема, если несколько потоков будут в неё писать и один - читать?
Dimitry Sibiryakov
Дата: 07.11.2019 18:05:46

"Простейшая" в данном случае неприменимо от слова "вообще".
Как только люди не извращаются...

Posted via ActualForum NNTP Server 1.5

alekcvp
Дата: 07.11.2019 19:20:28
Dimitry Sibiryakov

"Простейшая" в данном случае неприменимо от слова "вообще".
Как только люди не извращаются...

А какая в данном случае "простейшая"?..
Dimitry Sibiryakov
Дата: 07.11.2019 19:29:50

alekcvp
А какая в данном случае "простейшая"?..

TThreadList.

Posted via ActualForum NNTP Server 1.5

alekcvp
Дата: 07.11.2019 21:02:41
Dimitry Sibiryakov

alekcvp
А какая в данном случае "простейшая"?..

TThreadList.

Мне не список нужен, а очередь. Но идею понял.
makhaon
Дата: 07.11.2019 21:18:18
alekcvp,

чем очередь принципиально отличается от списка?
Dimitry Sibiryakov
Дата: 07.11.2019 22:15:31

alekcvp
Мне не список нужен, а очередь.

Боже ж ты мой, каие мы привередливые... Тогда TQueue + TCriticalSection тебе в руки.

Posted via ActualForum NNTP Server 1.5

X-Cite
Дата: 07.11.2019 23:46:41
cptngrb
Дата: 08.11.2019 08:30:58
X-Cite, TThreadedQueue использует TMonitor. А не будет ли это медленнее, чем TQueue + TCriticalSection?
kealon(Ruslan)
Дата: 08.11.2019 10:01:27
alekcvp
Искал сабж и наткнулся на интересную тему на форуме:
http://delphi.cjcsoft.net/viewthread.php?tid=45763

Суть в том, что человек очередь организовал через CreateIoCompletionPort.

Вопрос: насколько это рабочая схема, если несколько потоков будут в неё писать и один - читать?
Схема абсолютно рабочая, сабжевая реализация - не знаю.
По скорости практически как конкурентный вызов критической секции из потоков.
Под XP немного только с финализацией запортачили, но уже с висты поправили