Имеют ли эти два ключевых слова точно такой же эффект, или есть что-то, о чем я должен знать?Существуют ли различия между «синхронизированными» Java и «блокировкой» C#?
ответ
Согласно сайту: http://en.csharp-online.net/CSharp_FAQ:_What_is_the_difference_between_CSharp_lock_and_Java_synchronized, C# lock
и Java synchronized
блоки кода являются "семантически идентичны", в то время как для методов, Java использует synchronized
в то время как C# использует атрибут: [MethodImpl(MethodImplOptions.Synchronized)]
.
Одно интересное различие не охватывается в ссылке разместил Keeg: насколько я знаю, нет никакого эквивалента метод вызывает в Java для .NET-х Monitor.Enter и Monitor.Exit, что оператор C# lock
сводится. Это означает, что вы также не можете сделать эквивалент Monitor.TryEnter - хотя, конечно, пакет java.util.concurrent.locks (с 1,5) имеет множество блокировок, которые имеют больше доступных функций.
I java вам не нужно беспокоиться о блокировании публичных типов, которые у вас есть.
В .NET, have to
Обновлено: это для типов, которые вы владеете. Блокировка на публичных типах, которые вы не владеете, плоха на любом языке :)
Нет, это еще плохая идея блокировать публичные ссылки на Java. Что заставляет вас думать, что на Java все в порядке? – 2008-10-20 08:29:27
- 1. Различия между синхронизированными (это) и синхронизированными (objectReference)
- 2. Существуют ли различия между «/\((.*)\)/» и «/ \ (([^ \)] *) \) /"?
- 3. Существуют ли различия между "и"
- 4. Существуют ли различия между ANSI C и ISO C?
- 5. Существуют ли различия в поведении между: = и [[?
- 6. Существуют ли различия между этими двумя строками?
- 7. Существуют ли существенные различия между языками шейдеров?
- 8. Разница между блокировкой и блокировкой
- 9. Существуют ли различия между этими двумя файлами?
- 10. Различия между Java и C# и .NET
- 11. Модель данных C#, существуют ли различия между использованием этой формы?
- 12. Rijndael различия между C# и Java
- 13. различия между StringBuilder в Java и C#
- 14. Различия между объектной моделью C++ и Java
- 15. Существуют ли различия между состоянием в месте и условиях на
- 16. Существуют ли различия между дозой и в сочетании с доруном?
- 17. Существуют ли различия между специальной кодировкой символов XML и HTML?
- 18. Существуют ли различия между терминологией разбиения и разбиения на слои?
- 19. Существуют ли различия между xvfb и xvfb-run?
- 20. Существуют ли компиляционные различия между шестнадцатеричными и десятичными числами?
- 21. Существуют ли различия между индексом и индексами в Elasticsearch?
- 22. Существуют ли технические различия между "cond && {...}" и "if (cond) {...}"?
- 23. Существуют ли различия между IBM JDK в AIX и Linux
- 24. Различия между классами в C и C++
- 25. Различия LdapConnection между JAVA и C#
- 26. Различия между C# асинхронном и Java ExecutorService
- 27. Побитовые операторы - различия между C++ и Java
- 28. Сериализация - различия между C++ и Java
- 29. Различия между '' и '' C
- 30. Каковы различия между препроцессорами C и C++?
Нет, «семантически идентичный» - это то, что мне нужно было услышать ... и были ли какие-либо «gotchas», но эта страница, похоже, довольно ясный. Благодарю. Stackoverflow - мой новый Google. ;) – Epaga 2008-10-20 07:32:19