Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Все потоки в один


Автор: Ak47black 17.9.2007, 21:33
Здравствуйте.  smile 
Вообшем немного я запутался с работой Thread, читал статью Петровича, но так и не смог понять как сделать.
 
Попробую описать.
Написал поток TThread и запускаю N-ое количество его экземпляров. 
Каждый потом выполняет вычисления и выдаёт результат.
В зависимости от результата я делаю какие-либо действия.
И вот тут я хочу сделать чтобы при некоторых результатах действия выполнялись строго друг за другом, а не одновременно например два (Тоесть какбы в один поток все обратно сделать).
Вопрос - как достичь?
Может есть у кого-то код или можете показать где в статье Петровича это описывается (Статья в этом разделе)?

Автор: dumb 17.9.2007, 22:53
Цитата(Ak47black @  17.9.2007,  22:33 Найти цитируемый пост)
И вот тут я хочу сделать чтобы при некоторых результатах действия выполнялись строго друг за другом
результаты вычислений отдавай в основной поток, где и производи "действия".

Автор: MetalFan 17.9.2007, 23:05
Цитата(Ak47black @  17.9.2007,  21:33 Найти цитируемый пост)
чтобы при некоторых результатах действия выполнялись строго друг за другом

используй средства синхронизации. События, Семафоры, Мютексы, крит.секции и проч.

Автор: Ak47black 18.9.2007, 12:37
Цитата

результаты вычислений отдавай в основной поток, где и производи "действия". 

Но тут может случиться конфликт если два потока отдают одновремено.
У меня случай когда один результат останавливает класс, а другой в это время запрашивает у него инфу( незная что он остановлен). В результате получается неразбериха. 

Ок. Я еше посмотрю может какнибудь подругому выйду из этой ситуации.

Автор: dumb 18.9.2007, 13:03
Цитата(Ak47black @  18.9.2007,  13:37 Найти цитируемый пост)
В результате получается неразбериха.
чтобы сказать что-то более определенное, нужнО более детальное описание проблемы...

Автор: Ak47black 18.9.2007, 14:19
Сорри я тут наверно невнятно прочитал про потоки.
Попробую еше почитать и сделать с критическими секциями.
Извиняюсь что поднял тему.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)