|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||||||
Поток подвешивает форму02.07.2012, 16:27. Показов 3414. Ответов 29
Метки нет (Все метки)
Господа, что-то я явно делаю не правильно, а что никак не пойму.
В основной форме, по кнопке создаю поток
Добавлено через 34 минуты И если я одновременно создам два таких потока, то они должны выполняться параллельно. В этом их и суть. А не ждать пока завершится первый.
0
|
||||||
| 02.07.2012, 16:27 | |
|
Ответы с готовыми решениями:
29
Как в С++ Builder из 2х потоков рисовать на форме квадратики(это первый поток рисует) и кружочки (2ой поток)) Запрос к БД подвешивает форму dataCridView "подвешивает" форму |
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 03.07.2012, 16:58 [ТС] | |
|
Avazart, может быть действительно у меня где-то корявый алгоритм, но я вон приводил в примере, что при выполнении первого потока при движении лейбла вправо, если запустить второй поток, то второй лейбл уползет на лишние 200 пикселей далее. А если не запускать первый поток, то не уползает. Зависимость на лицо.
И это только один из примеров. Я замечал и другие странности, которые конечно очень легко объяснить просто отсутствием синхронизации, но только вот непонятно, что с этим делать.
0
|
|
|
|
||||||
| 03.07.2012, 18:45 | ||||||
|
Ну так должно быть.Непойму что не устраивает.
Каждый поток сдвигает лэбел на 200 вот тебе 200+200 Добавлено через 1 час 41 минуту Например код
Лэйбел плавно двигается по диагонали вниз-вправо.
0
|
||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||||||
| 06.07.2012, 09:03 [ТС] | |||||||
|
Только у меня там два разных лейбла двигаются:
0
|
|||||||
|
|
||||||
| 06.07.2012, 20:52 | ||||||
|
Нормально работает...
0
|
||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 10.07.2012, 13:32 [ТС] | |
|
Уважаемый Avazart... не знаю даже с чего начать. В общем из-за тех глюков, которые я у себя наблюдал, мне показалось, что наиболее правильным решением будет переписать все в один поток. Так как один поток обращается к одной же форме и делить ее ни с кем не надо. Но в результате, из-за огромного количества всевозможных проверок и действий, поток так разросся, что оптимизировать его уже не представляется возможным. Как следствие жутчайшие тормоза.
Вся разница в приведенном вами метода и тем, что пытался изобразить я, лишь в том, что в методе Execute потока у меня выполняется одна синхронизированная функция, содержащая проверки условий и прочее, а у вас сама проверка происходит непосредственно в теле метода Execute, а действия с формами в отдельных (нескольких!) функциях. Имеет ли мне смысл переписывать свою программу обратно под многопоточность (именно как вы предложили) или я получу тоже самое? Или хз?
0
|
|
|
|
|
| 10.07.2012, 15:08 | |
|
Да какая разница, сколько потоков будут эти две метки двигать? Хоть десятью можно, так-то.
![]() Чтоб много не менять, сделай так, чтобы за одну итерацию цикла потока обе метки сдвигались на единичку. Собственно, и все.
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||
| 11.07.2012, 12:15 [ТС] | ||
|
Да не. Там не две метки. )) Это просто пример был. Но как выяснилось даже в нем я накосячил. И всего лишь надо было разнести по функциям действия с разными объектами (хотя я до сих пор не понимаю почему это сработало). В моей программе присутствуют такие тяжеловесные конструкции как перебор всех элементов формы, парсеры их имен и запихивание/считывание всего этого дела в структуры. Да и еще парочка потоков рядом постоянно пытаются на себя переманить ресурсы. Повыкидывал откуда смог Form->Update, - стало получше, объекты перемещаются не с такими тормозами, но зато стали самопроизвольно телепортироваться.
Вот я и думаю, мож если б переписать как я хотел изначально, но с учетом вашего варианта исполнения, то мож заработало б как планировалось.Добавлено через 39 секунд Avazart, так, ладно. А как бы вы сделали? Добавлено через 19 часов 13 минут
0
|
||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 12.07.2012, 10:49 [ТС] | |
|
Спасибо, добрый человек.
0
|
|
| 12.07.2012, 10:49 | |
|
Поток фризует форму
Как правильно создать отдельный поток и из него изменять форму? Через CreateThread в поток передать указатель на форму или ее элемент Как можно поместить форму, на которой происходят определенные действия, в поток? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|