![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Короче суть в том что нужно остановить Thread А чтобы сделать SomeWork(); и потом запустить дальше. Но увы всё встаёт на pa.wait();... Это сообщение отредактировал(а) ShurikA - 12.2.2007, 02:00 |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 2 Всего: 7 |
ShurikA,
дело в том, что wait(), notify(), notifyAll() - это методы, которые не должны вызываться у потока, они должны вызываться на объекте, являющимся общим для потоков, разделяющих ресурсы. Я тоже сначала не мог понять что к чему, спасибо LSD, объяснил
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
||||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Так что ты хочешь, ты вызываешь pa.wait() и текущий поток встает (текущий это B), до тех пор пока кто нибудь не вызовет pa.notify().
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
LSD,
Секунду, а это не должно разве остановить процесс pa? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Нет конечно, это останавливает текущий тред. Тебе же уже сказали:
т.е. в данной ситуации ты используешь Thread как обычный Object. Почитай FAQ. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
||||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Нет.
wait() - просто усыпляет текущий поток (именно текущий, т.е. тот в котором выполняется данный код). notifyAll() - "будит" все потоки которые вызвали wait() на данном объекте -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Из всего что уже сказанно, я могу понять только то что поток может остановить только самого себя.
хотя это уж врядле... Ладно, спрошу по другому: Есть список картонок в котором, отдельным потоком (tA), генерируйутся для них превьюшки. Так же есь ещё один поток (tB) который тоже занимается масштабированием (для других целей). нужно перед началом отработки tB остановить tА и в конце отработки возобновить. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 2 Всего: 7 |
ShurikA,
а чем тебе мой пример не подошел? там вроде то что надо.... -------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Именно! Максимум, что он может, это дать команду другому потоку остановиться, но тот поток должен сам себя остановить получив команду. Разберись уже с теми примерами, что тебе давали! -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |