Сколько потоков будет доступно одновременно, если метод статически синхронизирован, а также сколько потоков будет обращаться одновременно, если метод статичен и, наконец, сколько потоков будет обращаться одновременно, если метод синхронизирован методом экземпляра?Синхронизация потоков для методов?
0
A
ответ
2
- Использование
static
только не мешает любой нити от доступа к методу в любое время - Используя
synchronized
только, то Приобрел монитор относится к объекту, для которого метод был вызван. Вы по-прежнему можете использовать тот же метод для других экземпляров того же класса. - Используя
static synchronized
, приобретаемый монитор относится кclass
вместо этого к определенному объекту, что означает, что статический метод может быть вызван только одним потоком одновременно , независимо от конкретных случаев
След. Обратите внимание, что несколько потоков могут одновременно вызывать два синхронизированных метода на одном и том же объекте, если один из методов является статическим, это может быть ловушка.
Смежные вопросы
- 1. Синхронизация потоков в Java
- 2. синхронизация потоков
- 3. Синхронизация потоков.
- 4. Синхронизация потоков для C++-карты
- 5. Синхронизация NSMutableArray для защиты потоков?
- 6. Синхронизация потоков для вызова pthread_cond_broadcast
- 7. Требуется ли для управления ActiveX синхронизация потоков?
- 8. Синхронизация двух потоков CUDA
- 9. многопоточность, синхронизация потоков
- 10. Синхронизация потоков нескольких агентов
- 11. Синхронизация потоков булевой переменной
- 12. Множественная синхронизация потоков в java
- 13. Синхронизация нескольких потоков Cuda
- 14. Синхронизация потоков Directsound
- 15. Частичная синхронизация потоков
- 16. Синхронизация потоков в qt
- 17. Синхронизация потоков циклов
- 18. Быстрая синхронизация потоков
- 19. Android, несколько потоков, синхронизация
- 20. Синхронизация нескольких потоков Java
- 21. Синхронизация потоков в C
- 22. Синхронизация двух потоков
- 23. .NET - Синхронизация потоков
- 24. Синхронизация очень быстрых потоков
- 25. Синхронизация параллельных потоков
- 26. Синхронизация потоков Java
- 27. Синхронизация нескольких потоков
- 28. Синхронизация потоков в C#
- 29. Синхронизация потоков в Java
- 30. Синхронизация рабочих потоков
Это правильный ответ, хотя «последствия» могут быть разъяснены немного более четко: т.е. причина, по которой может выполняться более одного потока, - это статическая синхронизация только прекращает выполнение другими потоками, пытающимися запустить другие статические методы или против самого класса. В то время как синхронизированные методы экземпляра предотвращают другие потоки, запущенные против других синхронизированных методов этого конкретного экземпляра. Причина в том, что для каждого из экземпляров есть монитор для класса и монитора: синхронизация идет против одного монитора. – javadba