|
|
|
join
|
|||
|---|---|---|---|
|
#18+
Поправьте пожалуйста мои суждения. Есть обычные потоки, потоки-демоны. Разница в том, что программа может завершиться(главный поток), а демоны еще не отработали и программа всё равно закрывается. Вопрос в следующем: зачем тогда нужен метод join? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:16:40 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
"Летят два крокодила, один зеленый, другой тоже в Африку" Как вопрос связан с подводкой? Есть потоки демоны. Есть метод join(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:20:29 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
так join же запускается внутри потока и гарантирует, что поток(для которого запустили join) отработает до конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:25:35 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
то есть получается чтобы программа заканчивалась до завершения потоков нужно делать демоны, а чтобы она отработала до конца нужно желать join а по умолчанию тогда как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:27:27 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90, тебе не нужны демоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:31:29 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
объясните мне пожалуйста что к чему тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:33:02 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90так join же запускается внутри потока и гарантирует, что поток(для которого запустили join) отработает до конца. Никто никаких "гарантий" не даёт. join() успыляет текущий поток, пока не завершится ожидаемый. Какое отношение к этому имеют демоны мне до сих пор не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:33:30 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90то есть получается чтобы программа заканчивалась до завершения потоков нужно делать демоны Типа того. redwhite90 а чтобы она отработала до конца нужно желать join Нет. redwhite90а по умолчанию тогда как При штатном завершении JVM не остановится, пока работают все не-демон-потоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:34:33 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90объясните мне пожалуйста что к чему тут Вопрос задай внятный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:34:50 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
Горе от ума. Лучше-бы вообще про демоны не читал. А сначала просто про синхронизацию потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:38:13 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90 а чтобы она отработала до конца нужно желать join Нет. как так то? ведь допустим main{ ... t.join ... } программа же не закончится, пока поток t не отработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:42:39 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90как так то? ведь допустим main{ ... t.join ... } программа же не закончится, пока поток t не отработает Что такое "программа" в твоей терминологии? JVM или Main-Thread? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:44:08 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
Blazkowiczredwhite90как так то? ведь допустим main{ ... t.join ... } программа же не закончится, пока поток t не отработает Что такое "программа" в твоей терминологии? JVM или Main-Thread? Main-Thread ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:46:53 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90redwhite90 а чтобы она отработала до конца нужно желать join Нет. как так то? ведь допустим main{ ... t.join ... } программа же не закончится, пока поток t не отработает Демоны на то они и демоны - что к ним, никто по определению не должен джойнится. Демоны используют для фоновых задач небольшого приоритета. Ну отработал - ок, не отработал - и леший с ним. А метод join используется для синхронизации 2 недемонов, чтобы прийти в одну точку в одно время. Вот и все дела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:48:56 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
забыл никДемоны на то они и демоны - что к ним, никто по определению не должен джойнится. Демоны используют для фоновых задач небольшого приоритета. Ну отработал - ок, не отработал - и леший с ним. А метод join используется для синхронизации 2 недемонов, чтобы прийти в одну точку в одно время. Вот и все дела join() перпендикулярен демонам вообще. Можно два демона им синхронизовать если нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:50:46 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
redwhite90Main-Thread Если Main-Thread-у сделать join() на поток-демон, то он не завершится, пока не завершится демон. А JVM не закроектся, пока не завершается все не-демоны, в том числе Main-Thread. Тут два простейших определения. join - один поток ждет другой. deamon - JVM ждет все не-демон-потоки при закрытии. Всё. Какие ещё могут быть вопросы? Поведение всех возможных комбинаций join и deamon логически выводится из этих двух определений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 20:54:14 |
|
||
|
join
|
|||
|---|---|---|---|
|
#18+
Blazkowiczзабыл никДемоны на то они и демоны - что к ним, никто по определению не должен джойнится. Демоны используют для фоновых задач небольшого приоритета. Ну отработал - ок, не отработал - и леший с ним. А метод join используется для синхронизации 2 недемонов, чтобы прийти в одну точку в одно время. Вот и все дела join() перпендикулярен демонам вообще. Можно два демона им синхронизовать если нужно. я на языке ТС:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 22:28:24 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38076592&tid=2130379]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
52ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
76ms |
get tp. blocked users: |
3ms |
| others: | 289ms |
| total: | 491ms |

| 0 / 0 |
