Java线程同步锁的选择Java线程同步锁的选择
public class SyncTest
{
private String name = "name";
public void method(String flag)
{
synchronized (name)
{
System.out.println(flag + ", invoke method ....");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTra...
Java线程同步锁的选择
public class SyncTest
{
private String name = "name";
public void method(String flag)
{
synchronized (name)
{
System.out.println(flag + ", invoke method ....");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
SyncTest test1 = new SyncTest();
SyncTest test2 = new SyncTest();
MyThread1 myThread1 = new MyThread1();
MyThread1 myThread2 = new MyThread1();
myThread1.syncTest = test1;
myThread2.syncTest = test1;
MyThread1 myThread3 = new MyThread1();
MyThread1 myThread4 = new MyThread1();
myThread3.syncTest = test2;
myThread4.syncTest = test2;
myThread1.start();
myThread2.start();
myThread3.start();
myThread4.start();
}
}
?ß??????
public class MyThread1 extends Thread {
SyncTest syncTest;
@Override
public void run()
{
syncTest.method(this.getName());
}
}????Ó?ø??ē???µ?Ö?ß??thread1??thread2???,???ß??thread3??thread4???
,µÄ??µ?,??ūÄ??æ
package com.rcx.thread;
public class SyncTest
{
// ???āµÄinstance?ä?æ,Ó?Ó??äµ????,??µÄ?ō?ó
private byte[] lock = new byte[0];
public void method(String flag)
{
synchronized (lock)
{
System.out.println(flag + ", invoke method f....");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
SyncTest test1 = new SyncTest();
SyncTest test2 = new SyncTest();
MyThread1 myThread1 = new MyThread1();
MyThread1 myThread2 = new MyThread1();
myThread1.syncTest = test1;
myThread2.syncTest = test1;
MyThread1 myThread3 = new MyThread1();
MyThread1 myThread4 = new MyThread1();
myThread3.syncTest = test2;
myThread4.syncTest = test2;
myThread1.start();
myThread2.start();
myThread3.start();
myThread4.start();
}
本文档为【Java线程同步锁的选择】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。