![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
![]()
Всем привет!
С потоками раньше работал, но только с одним. И создавал его, как известно, через "File" > "New" > "Other" > "Thread Object". Здесь все просто. Но теперь появилась необходимость создать 5, 10, ну или сколько захочется потоков. Здесь для меня тупик. Информации в гугле вроде бы много, но она как-то не структурирована и нет четкого понимания как, все таки, создается этот "массив потоков". Вычитал, что как-то в цикле вроде бы, но не понимаю как... Может быть кто-нибудь уделит время и поможет? ![]() Для примера: на форме есть 5 Label-ов. Нужно создать 5 потоков и пусть каждый поток считает от 1 до 100 000 и выводит это в соответствующий по порядковому номеру Label. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
![]()
Спасибо за столь оперативный ответ!Но не совсем ферштейн
![]() 1. При нажатии на кнопку выдает ошибку: Access_Violation.jpg 2. Через поток находит первый Лейбл и передает ему значение времени и все, больше ничего ![]() 3. Если я правильно понял в п. 2, то это не совсем то, что нужно. Нужно понять как создать 5 потоков, которые работали бы параллельно. Т.е., из примерного задания первого поста, пусть они работают параллельно (считают от 1 до 100 000) и выводят текущее значение в соответствующий лейбл (так будет видно, что они действительно работают). Во как! ![]() |
![]() |
![]() |
![]() |
#4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Еще раз найвнимательнейшим образом пробуй мой пример. НАЙВНИМАТЕЛЬНЕЙШИМ
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
![]()
А что по поводу ошибки? Что это за беда?
Ну да, после своего последнего поста еще покурил твой код - согласен, для каждого лейбла свой поток, НО! (код изучил наивнимательнее некуда ![]() 1. Новый поток создается только после завершения выполнения предыдущего, верно? (ведь до его завершения просто не произойдет переход на след. шаг цикла, вроде как. Или в цикле происходит только пуск потока, а за его завершением уже не следит никто?). 2. Выполнение цикла происходит только один раз, как я ранее писал. Т.е. да, первый поток создался, отработал и все, второй уже не создается... |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ошибка почти наверняка из-за того, что к лэйбам из потоков обращаетесь без синхронизации. То что лейб как параметр передается и в ее Caption только из одного потока пишется ни чего не меняет. В цикле не ожидается завершение потока
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 19.02.2012 в 22:54. |
![]() |
![]() |
![]() |
#7 | |||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Это же только пример, призванный натолкнуть на мысль. Цитата:
I'm learning to live...
Последний раз редактировалось Stilet; 19.02.2012 в 23:12. |
|||||
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#9 | |||
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
![]() Цитата:
Цитата:
![]() Цитата:
![]() |
|||
![]() |
![]() |
![]() |
#10 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]() Поставь везде sleep(1000) должна через секунду сработать каждая. Ну или почти через секунду. Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опять про антиспам=( | gunsoy | PHP | 5 | 05.01.2012 14:49 |
Опять про печать. | СтаниславАВ | Microsoft Office Excel | 3 | 07.04.2011 07:41 |
Опять про каптчу | kardinal94 | Работа с сетью в Delphi | 11 | 20.09.2010 20:20 |
Опять про кризис | vasek123 | Свободное общение | 32 | 13.03.2009 16:56 |
Опять про гистограммму | artemavd | Общие вопросы Delphi | 10 | 15.07.2008 11:44 |