![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
1988Олег1988 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 22.7.2013 Репутация: нет Всего: нет |
Доброго времени суток.
Начал изучать работу с потоками и чем больше изучаю, тем больше вопросов Для работы с потоком создаю 2 массива потоков в сумме их 4 штуки всего (3 потока TrLTR27 и of TrLTR51)
Не подскажите почему у меня начинает виснуть прога когда я отправляю главному потоку сообщения из 2х разных и получается, что если убрать PostMessage(Form1.Handle, WM_PROCESSDATA51, NomerSlota,1 ); или второй зависание прекращается. Прошу подсказать почему появляется зависание и как от этого можно избавиться И второй вопрос, как можно ПРАВИЛЬНО приостанавливать и запускать поток? У меня в потока используется бесконечный циклы
В итоге когда я пытаюсь приостановить поток ArTrLTR27[i].Terminate;, останавливается все хорошо но пытаюсь запустить поток с помощью ArTrLTR27[i].Resume, но цикл не запускается. |
||||
|
|||||
Illusion Dolphin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
= Suspend Terminate это значит дать знать потоку что он должен быть завершён.
Когда зависнет - посмотрите на вкладку потоки (Threads = Ctrl+Alt+T), там будет указано кто кого ждёт и почему. Двойным кликом переключайтесь между потоками и будите видеть Call-stack для каждго отдельного потока. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||
|
|||||
StranikS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.2.2006 Репутация: нет Всего: 2 |
Глянул на главный код, непонятно зачем синхронизация идет через посты? Что это вам дает? Вы все равно обращаетесь к форме Form1 из каждого модуля с описанием потока.
|
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
Например, это не блокирует поток, дожидаять обработки сообщения, как это через Send. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
1988Олег1988 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 22.7.2013 Репутация: нет Всего: нет |
Ну Посты я использовал для того чтобы не блокировать поток, дожидаясь обработки сообщения. А то что к форме на прямую обращаюсь - это временно. Вообще я лпанирую любые данные получаемые с потоков заполнять в некоторый глобальный список например типа SyncList:TList с доступом через крит.секцию. В таком случае главный поток сможет контролировать размер списка и либо забирать его целиком на обработку, либо ждать поступления дополнительных данных. Но пока руки не дошли и кое где ликбеза не хватает ![]() А может кто подскажет как можно в потоке дожидаться выполнения какой либо функции или процедуры в потоке??? например функция в потоке:
Но поток не дожидается ее выполнения и молотит дальше... Это сообщение отредактировал(а) 1988Олег1988 - 28.7.2013, 14:39 |
||||
|
|||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
Предполагаю ( ![]() ![]() -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
1988Олег1988 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 22.7.2013 Репутация: нет Всего: нет |
Решил проблему - просто с переменными запутался ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |