- volatile的應用
有該關鍵字的變量每次都會從內存中直接讀,而不會從緩存中讀。volatile是輕量級的synchronized,比synchronized的使用和執行成本更低,因為它不會引起線程上下文的切換和調度。
- synchronized的實現原理和應用
java中的每一個對象都可以作為鎖:
方法 | 鎖 |
---|---|
普通同步方法 | 鎖是當前實例對象 |
靜態同步方法 | 鎖是當前類的Class對象 |
同步方法塊 | 鎖是synchronized括號里配置的對象 |
有該關鍵字的變量每次都會從內存中直接讀,而不會從緩存中讀。volatile是輕量級的synchronized,比synchronized的使用和執行成本更低,因為它不會引起線程上下文的切換和調度。
java中的每一個對象都可以作為鎖:
方法 | 鎖 |
---|---|
普通同步方法 | 鎖是當前實例對象 |
靜態同步方法 | 鎖是當前類的Class對象 |
同步方法塊 | 鎖是synchronized括號里配置的對象 |