ロックと同期の違いは何ですか

1.オリジナルの憲法

synchronizedキーワードは、JVMレベルに属し

  monitorenter(底部層は、実際には、監視対象によって達成され、待機、通知、等の方法もまた調整するためにのみ同期符号ブロックおよび方法、監視対象に依存する同期待ち/通知等)

  monitorexit

ロックは、具象クラスである(JUC.locks.Lock)は、APIレベルのロックです

2.

  手動でロックを解除するユーザーを必要とせずに、同期、システム後の同期コードの実行が自動的にスレッドが占領のロックを解除するようになりますとき

  ReentrantLockのユーザーがロックを解除するには何のイニシアチブが存在しない場合は、手動でロックを解除する必要があり、それがデッドロックにつながる可能性があり

3.待つことができるI割り込み

  例外がスローされたか、通常の操作完了されない限り、中断されていない同期

  タイムアウト割り込み方法のtryLockを設定することができる1. ReentrantLockの(長いタイムアウト、TimeUnitでユニット)

4.ロックが公平です

  シン不公平ロック

  ReentrantLockのデフォルト不公平、施工方法が公正であるために、ブール試して渡すことができます

ロック結合条件複数の条件

  シンなし

  再スレッドを覚ます目を覚ますために、パケットのニーズを実現するために使用される正確ではなく全かSYNまたはランダムウェイクウェイクよりも、目を覚ますことができます

おすすめ

転載: www.cnblogs.com/ergePython/p/12393350.html