java 线程thread2(线程同步 synchronized)

来源:互联网 发布:网络舆论战 编辑:程序博客网 时间:2024/03/29 02:15

线程同步 synchronized;

synchronized 使用时 主要用于同步代码块和同步方法;

同步代码块:

public void display(){

private count=200;

synchronized(this){

for(int i=0;i<count;i++){

system.out.println(i);

}

}

}

wait(), notify (),notifyAll();三个方法用在synchronized的同步代码块 或同步方法中 ,该三个方法必须和synchronized一起使用 否则报错;

wait(); 当前线程 中断,并释放对象锁;

notify();另外的线程执行某对象的notify();会唤醒此对象等待池中的某个线程

notifyAll();另外的线程执行某对象的notify();会唤醒此对象等待池中的所有线程


同步方法:

public synchronized void display(){

private count=200;

for(int i=0;i<count;i++){

system.out.println(i);

}

}


对象锁Lock

private Lock lock=new ReentrantLock();
public void play(){
lock.lock();//获取锁;
if(t<100){
t=t=+1;
system.out.println(t);
}
lock.unlock()//释放锁
}


0 0
原创粉丝点击