Действительно ли мне нужно синхронизировать любые методы, если я не создаю нити (исключение является основным). Если да, может кто-нибудь объяснить причину и дать некоторые примеры, пожалуйста.Нужно ли синхронизировать любые методы, если есть только основной поток?
ответ
Если вы не создали ни одного потока, то нет, вам не нужно использовать ключевое слово synchronized
. Это предполагает, что вы не пишете сервлеты или фильтры J2EE или библиотеку, которую могут вызвать другие (которые используют несколько потоков).
Нет, вам не нужна синхронизация в этой ситуации, синхронизация происходит, когда несколько потоки доступа к общим данным.
Синхронные методы используются, когда вы не хотите, чтобы два потока работали по любому синхронизированному методу за один раз. Если приложение однопоточное, нет точки, которая блокирует и добавляет накладные расходы на синхронизацию.
Нет, вы не должны так влиять на производительность. Синхронизация не должна использоваться, если вы делаете все в одном потоке.
Синхронизация в однопоточном приложении не повлияет на производительность. Но это может быть многопоточным. –
@inikolaev Преждевременная оптимизация. –
@ inikolaev в однопоточном приложении не будет никакого контекстного переключателя, но для выполнения синхронизированного блока поток должен иметь блокировку на объекте, который является накладными расходами. – pundit
- 1. Нужно ли синхронизировать java HashMap, если есть только один поток нити
- 2. Нужно ли синхронизировать методы массива ArrayBlockingQueue?
- 3. Нужно ли синхронизировать буфер, если только один поток добавляется, и удаляется только одна (другая) нить?
- 4. Нужно ли синхронизировать кеш?
- 5. Нужно ли синхронизировать java HashMap, если есть только один поток писем, и никаких структурных изменений в карте не сделано.
- 6. Нужно ли синхронизировать ExecutorService.execute()?
- 7. Нужно ли синхронизировать записи, если мы синхронизируем чтение?
- 8. Блокирует ли NSURLConnection основной поток?
- 9. Следует ли синхронизировать одиночные методы?
- 10. Нужно ли синхронизировать конечных членов?
- 11. Не нужно ли компилятору Java синхронизировать?
- 12. Нужно ли мне синхронизировать socket.send?
- 13. Нужно ли мне Синхронизировать это
- 14. ли методы необходимо синхронизировать Потокобезопасную Синглтон
- 15. Java: Необходимо ли синхронизировать все статические методы?
- 16. Нужно ли закрывать поток?
- 17. C++ новый поток спит основной поток
- 18. Синхронизировать методы асинхронизации
- 19. Нужно ли использовать Синхронизацию, если мы хотим внести некоторые изменения в основной поток VCL?
- 20. Нужно синхронизировать настройку булевых членов?
- 21. Нужно ли синхронизировать объекты, которые гарантируют бытие?
- 22. методы Синхронизировать для предотвращения ConcurrentModificationException
- 23. синхронизировать методы прогона vbscript
- 24. Есть ли способ синхронизировать это?
- 25. Синхронизировать 2 Методы
- 26. Нужно ли синхронизировать, если у меня есть несколько потоков, которые будут вставляться в MySQL?
- 27. Как синхронизировать асинхронные методы?
- 28. Есть ли способ синхронизировать это без блокировок?
- 29. Нужно ли синхронизировать доступ к массиву, когда переменная массива нестабильна?
- 30. Нужно ли синхронизировать std :: condition_variable/condition_variable_any :: notify_one
Мне просто интересно, где вы слышали, что вам нужно. Конечно, нет. –
Есть ли GUI? –