Что такое синхронизация потока в java? дайте любой пример по этому вопросуЧто такое синхронизация потока в java?
ответ
Посмотрите на java tutorial о синхронизации.
Также, пожалуйста, прочитайте параллелизм в pratice Дуг Ли. –
В многопоточных программах часто используются разделы программы, которые необходимо запускать атомарно (как если бы это была одна операция). Они обычно называются критическими областями и защищены с помощью парадигм взаимного исключения (мьютекса). Ключевое слово synchronized
в Java - один из таких способов обеспечения взаимного исключения.
Рассмотрим код:
synchronized(lockObject) {
//critical code
}
В приведенном выше коде, только один поток может войти в этот синхронизированный блок в то время, при условии, что ссылка на объект переменной lockObject
никогда не изменяется. Это гарантирует, что код, выполняемый в синхронизированном блоке, выполняется только одним потоком.
Общие примеры того, где требуется блокировка, были бы при итерации по коллекции. Несколько реализаций Java Collection предлагают поточную итерацию. Основным способом создания поточной безопасной итерации будет защита каждого доступа к коллекции с помощью синхронизированного блока в этой коллекции.
Например:
synchronized(myCollection) {
myCollection.add(item);
}
synchronized(myCollection) {
myCollection.remove(item);
}
synchronized(myCollection) {
for(Object item:myCollection){
System.out.println(item);
}
}
- 1. Что такое синхронизация на Java?
- 2. синхронизация потока в java
- 3. Что такое «непоследовательная синхронизация»?
- 4. Что такое синхронизация - свойство?
- 5. Что такое синхронизация условий?
- 6. Что такое использование потока символов в java?
- 7. Видимость и синхронизация потока Java
- 8. Синхронизация Java внутри другого потока
- 9. Что такое синхронизация режима доз?
- 10. Синхронизация потока в C++
- 11. Что такое эквивалент PHP потока потока VB?
- 12. Синхронизация и синхронизация VCL (в/из потока)
- 13. Что такое код выхода потока?
- 14. msdn: Что такое «Безопасность потока»?
- 15. Что такое синхронизация git-repo и синхронизация git-repo?
- 16. Что такое расфасованные классы потока символов?
- 17. Синхронизация потока данных данных
- 18. Понимание Что такое синхронизация и Что Асинхронный в Node.js/JavaScript
- 19. Что такое контроль потока в Bash?
- 20. Что такое контекст потока в C#?
- 21. Что такое локальное значение потока в фляге?
- 22. Что такое альтернативный вариант Java для основного потока ASP.NET/PHP
- 23. Синхронизация потоков в Java
- 24. нить/синхронизация в java
- 25. Синхронизация многопоточности в Java
- 26. Синхронизация потоков в Java
- 27. Что такое концепция java-итератора?
- 28. Синхронизация синглтон в Java
- 29. Что такое Java Java Bean?
- 30. Android: Синхронизация собственного потока с основным потоком
Поиск по Google, и вы найдете много замечательных примеров. –
Это выглядит как домашнее задание. Пожалуйста, узнайте об этом сами, а затем задайте здесь несколько более конкретных вопросов. – tangens
Я обычно не отвечаю на домашние вопросы подробно. Но ответная копия/вставка отсюда так же хороша, как копия ответа/вставленная с любого другого веб-сайта. Это не значит, что здесь есть вопрос программирования. –