/**
* Created by Leon on 2017/5/22.
* 处理进程同步问题
* 多个线程访问同一个资源时保证一个线程在一段操作结束前独占cpu
* 锁线程 synchronized
*/
public class TestSync implements Runnable
{
Timer timer =new Timer();
@Override
public void run()
{
timer.add(Thread.currentThread().getName());
}
public static void main(String[] args)
{
TestSync test =new TestSync();
Thread t1=new Thread(test);
Thread t2=new Thread(test);
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();
}
}
class Timer
{
private static int num=0;
public synchronized void add(String name)//表示执行这个方法的过程中,当前对象被锁定
{
//也可以写成:
// synchronized(this)
// {
num++;
try
{
Thread.sleep(1);
}
catch (InterruptedException e)
{}
System.out.println(name+", 你是第"+num+"个使用timer的线程");
// }
}
}
进程同步问题-锁线程
最新推荐文章于 2017-10-15 16:04:23 发布