0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
||||||
1 | ||||||
Как заставить один поток ждать, пока работает другой15.05.2014, 00:40. Показов 8998. Ответов 11
Метки нет (Все метки)
Здравствуйте,
стоит такая задача: есть
0
|
15.05.2014, 00:40 | |
Ответы с готовыми решениями:
11
Как правильно блокировать кнопку пока работает другой поток? Как сделать, чтобы один поток не закончил работу, пока второй работает? Если запустить 2 потока, будет ли один ждать, пока завершится другой Как заставить поток ждать, пока не будет выполнено определенное действие? |
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
|
15.05.2014, 01:00 | 2 |
Опять? Что ты мучаешься, потоки не такая уж и сложная тема, давно бы все выучил.
Кстати, использовать lock в сложных сценариях - дурной тон.
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
|
15.05.2014, 01:06 [ТС] | 3 |
DataPlanner, в той теме я так и не допоняла, к чему привязывать BeginInvoke.
Спасибо, конечно, за ответ в той теме, но вместо упрёков "как не надо", очень хотела бы увидеть прояснения в ситуации.
0
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
|
15.05.2014, 01:59 | 4 |
Дорогая девушка, вы постарайтесь понятней изложить суть задачи, очень сложно понять, что вы хотите сделать. Ваш код ни о чем не говорит, изложите словами вашу задачу, думаю, мужская половина форума вам обязательно чиркнет пару строк.
0
|
insite2012
|
15.05.2014, 02:01
#5
|
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
|
15.05.2014, 02:11 [ТС] | 6 |
DataPlanner, я уж и не знаю, как объяснить-то.
1) Если использовать BeginInvoke, то к чему его привязывать. Гуглила, все примеры с контролами. Но у меня метод должен вызываться после выполнения определённого условия. 2) Как добиться того, чтобы потоки при каком-то условии (в моём случае forks[i] == true) переходили в режим ожидания. До тех пор, пока другие потоки не поменяют forks[i] на false. И чтоб это всё было потокобезопасно. Не по теме: %-)криво всё объясняю, чёрт возьми.
0
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
|
15.05.2014, 02:18 | 7 |
forks[i] массив, как-то под флаг он мало подходит. Или вы хотите сказать, когда все элементы массива forks[i] будут true или false, должно что-то происходить?
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
|
15.05.2014, 02:20 [ТС] | 8 |
DataPlanner, когда определённый элемент массива (i, который передаётся в метод), будет true или false, должно что-то происходить.
0
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
||||||
15.05.2014, 02:28 | 9 | |||||
Сообщение было отмечено alexenl как решение
Решение
Попробуйте этот код. Оно?
1
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
|
15.05.2014, 02:51 [ТС] | 10 |
DataPlanner, дададаадд, кажется, оно! Сейчас пытаюсь присобачить эту штуку, думаю, утром смогу сказать точнее о результате) Спасибо!
0
|
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
|
|||||||||||
15.05.2014, 09:30 | 11 | ||||||||||
Так я и не понял, что ты там делаешь, но вот тебе еще вариант:
Вот тебе еще BeginInvoke с музыкой:
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 27
|
|
15.05.2014, 15:02 [ТС] | 12 |
DataPlanner, спасибо большое за еще два варианта, но они не пригодились. Я разобралась с тем (AutoResetEvent), и теперь я скорее всего успею доделать курсач Ура-ура-ура
0
|
15.05.2014, 15:02 | |
15.05.2014, 15:02 | |
Помогаю со студенческими работами здесь
12
Как заставить поток ждать Как заставить поток ждать в некоторых ситуациях QtConcurrent - заставить главный поток ждать своих детей Ждать, пока работает другая программа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |