|
|
|
Потоки и модальность JDialog
|
|||
|---|---|---|---|
|
#18+
авторно возможно синхронайзд там действительно нужен по каким либо причинам и убрать его нельзя. допустим, что нужен и убрать его нельзя, тогда и в другой класс перенести метод тоже нельзя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 14:51 |
|
||
|
Потоки и модальность JDialog
|
|||
|---|---|---|---|
|
#18+
wessen авторно возможно синхронайзд там действительно нужен по каким либо причинам и убрать его нельзя. допустим, что нужен и убрать его нельзя, тогда и в другой класс перенести метод тоже нельзя :) Почему? Мы говорим об одном и том же? :) Есть класс который содержит синхронайзд метод, это значит, что он может выполняцца только одним потоком. К тому же если какой либо объект этого класса заблокирован синхронайздом ( через блок синхронайзд или выполнением другого синхронайзд метода), то данный метод для этого объекта выполняцца не может никаким другим потоком. Имея ситуацию когда объект заблокирован блоком синхронайзд, необходимо выполнить логику, которая находицца в его же синхронайзд методе, используя другой поток. Условимся что логика обязательно должна быть синхронизирована. В данном случае получим дедлок. Если мы делегируем выполнение этой логики объекту другого класса ( метод другого класса тоже синхронайзд - выполняецца только одним потоком в конкретный момент времени!!!), то дедлока не будет. При необходимости, можно передать объект, по которому стоит блокировка, в качестве параметра в синхронайзд метод объекту-делегату. При простом снятии синхронайзд с метода, мы нарушаем контракт синхронизации логики метода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2005, 17:33 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33337697&tid=2151168]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 511ms |

| 0 / 0 |
