生活随笔
收集整理的這篇文章主要介紹了
Synchronize锁对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Synchronize鎖對象
可以對任意的Object對象,進行加鎖
用法比較靈活
package com.bjsxt.base.sync006;
/*** 使用synchronized代碼塊加鎖,比較靈活**/
public class ObjectLock {public void method1() {
synchronized (
this) {
try {System.out.println(
"do method1..");Thread.sleep(
2000);}
catch (InterruptedException e) {e.printStackTrace();}}}
public void method2() {
synchronized (ObjectLock.class) {
try {System.out.println(
"do method2..");Thread.sleep(
2000);}
catch (InterruptedException e) {e.printStackTrace();}}}
private Object lock =
new Object();
public void method3() {
synchronized (lock) {
try {System.out.println(
"do method3..");Thread.sleep(
2000);}
catch (InterruptedException e) {e.printStackTrace();}}}
public static void main(String[] args) {
final ObjectLock objLock =
new ObjectLock();Thread t1 =
new Thread(
new Runnable() {
@Overridepublic void run() {objLock.method1();}});Thread t2 =
new Thread(
new Runnable() {
@Overridepublic void run() {objLock.method2();}});Thread t3 =
new Thread(
new Runnable() {
@Overridepublic void run() {objLock.method3();}});t1.start();t2.start();t3.start();}}
運行
總結
以上是生活随笔為你收集整理的Synchronize锁对象的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。