|
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
|
|||||||||||
Правильно ли организован поток?08.10.2014, 20:12. Показов 5753. Ответов 94
Метки нет (Все метки)
Всем доброго времени суток, задался таким вопросом, а правильно ли составлен этот код потока, основан на критической секции. привожу :
0
|
|||||||||||
| 08.10.2014, 20:12 | |
|
Ответы с готовыми решениями:
94
Правильно вызвать поток Правильно ли организован поток в приведенном коде Правильно ли организован ввод строки |
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 12.10.2014, 21:15 | |
|
0
|
|
|
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
|
||
| 12.10.2014, 21:18 [ТС] | ||
|
вот именно, а мне надо чтоб только 1 раз с ней поработал, а он ее по кругу гоняет .... как быть ? а может написать что то виде TMyThread.free в конце execute ? чтоб убить именно этот поток ... можете подсказать ?
Добавлено через 1 минуту поможете переделать код ?
0
|
||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 12.10.2014, 21:19 | ||
|
И в форму он не должен лезть вообще) Поток, знающий о существовании форм, есть говнопоток, рано или поздно приводящий к малым и большим проблемам)
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 12.10.2014, 21:19 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 12
|
|
| 12.10.2014, 21:20 | |
|
0
|
|
|
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
|
||||||||
| 12.10.2014, 21:22 [ТС] | ||||||||
0
|
||||||||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 12.10.2014, 21:24 | |
|
zimbabve, какой тебе еще пример ?
Пример со списком - тот же самый мой пример без списка. Никаких принципиальных отличий нет)
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 12.10.2014, 21:24 | |
|
0
|
|
|
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
|
|||||||
| 12.10.2014, 21:28 [ТС] | |||||||
0
|
|||||||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|
| 12.10.2014, 21:29 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 12
|
||
| 12.10.2014, 21:29 | ||
|
Так что тогда я неправильно написал? Если при перетаскивании формы, приостанавливается работа? И форму не закрыть, пока не закончится выполнении работы софта?
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 12.10.2014, 21:29 | |
|
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 12.10.2014, 21:42 | ||
|
Но класс потока из моего примера, коим ты воспользовался, к наблюдаемой тобой проблеме не имеет никакого отношения - проблему создал ты сам, а не приведенный мною простейший класс потока) Поток честно стартует, честно и вовремя делает свое дело, формирует результат и закругляется. И не его проблема что результат этот ты пытаешься получить таким немудреным способом - с использованием встроенного синхронизатора, причем в самый неподходящий для этого момент)
0
|
||
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 12
|
|
| 12.10.2014, 22:08 | |
|
0
|
|
|
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
|
||
| 12.10.2014, 22:28 [ТС] | ||
|
0
|
||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
|||
| 12.10.2014, 22:32 | |||
|
zimbabve, еще раз:
приведенный мною шаблон поточного класса при его встраивании в твой собственный код к наблюдаемым при этом "тормозам" отношения не имеет. Здесь нужно отчетливо понимать важные вещи: 1. Создание нового потока - тяжелая по времяемкости блокирующая системная операция. 2. Бессмысленно , вредно и рисковано создавать кол-во одновременно существующих доп.потоков, в десятки и сотни раз превышающее кол-во процессоров/ядер. 3. Обработчик OnTerminate, всегда вызываемый в осн.потоке, должен быть как можно менее времяемким и по возможности не порождающим времяемкие синхронные (т.е. ожидающие обработки) оконные сообщения Добавлено через 2 минуты
0
|
|||
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 12
|
||
| 12.10.2014, 23:15 | ||
|
0
|
||
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||
| 13.10.2014, 09:25 | ||
|
Интересная логика) Точнее - интересное отсутствие оной.
0
|
||
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 12
|
|
| 13.10.2014, 09:45 | |
|
mss,
По вашему шаблону был написан код, где наблюдается работа с проблемами, они были описаны. Вы пишите, что правильно написан код и тут же пишите, что допущены ошибки. Попросил вас, дать пример или поправить код, вы начинаете вилять хвостом и нести всякую чушь, вместо поправок. Если нет желания показать правильную реализацию, то стоит как нормальному человеку сообщить об этом, а не придуриваться.
0
|
|
|
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
|
||||
| 13.10.2014, 11:36 | ||||
|
zimbabve, гонор умерь.
Цитирую тебя:
И что ? Какие у тебя претензии конкретно к поточному классу ? Вызывать тебе или не вызывать Application.ProcessMessages в основном потоке - это не его забота ! Поток ничего не знает и не обязан знать ни о каких формах. 2.
Опять же это не проблема поточного класса. Убедись сам - убери доп.поток вообще, кинь на форму, скажем, таймер, в его обработчике выводи что-нибудь в мемо на форме. Теперь хватай-таскай изо всех сил форму мышью и увидишь ту же картину - мемо не будет (или будет очень редко) обновляться, пока ты не отпустишь форму.
0
|
||||
| 13.10.2014, 11:36 | |
|
Правильно завершить поток Правильно завершить поток
Как правильно отправить в поток?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|