您现在的位置是:课程教程文章

java同步的使用条件

2023-12-13 22:55课程教程文章 人已围观

1、为了保持跨线程的正确可见性,必须使用synchronized或volatile。

2、读取可能是另一个线程最终写入的变量。

3、写一个可能被另一个线程读取的变量。

实例

classSellTicketimplementsRunnable{
privateinttickets=10;

publicvoidrun(){

while(true){
if(tickets>0)
sell();
else
return;
}

}

publicsynchronizedvoidsell(){
if(tickets>0){
System.out.println(Thread.currentThread().getName()+"卖出第"+tickets+"张票");
tickets--;
try{
Thread.sleep(500);
}catch(InterruptedExceptione){
e.printStackTrace();
}

}
}
}

publicclassTicketTest{
publicstaticvoidmain(Stringargs[]){
SellTickett=newSellTicket();

newThread(t,"窗口1").start();
newThread(t,"窗口2").start();
newThread(t,"窗口3").start();

System.out.println("主线程结束");

}
}

以上就是java同步的使用条件,希望对大家有所帮助。更多Java学习指路:Java基础

推荐操作环境:windows7系统、java10版,DELL G3电脑。

课程教程:java同步的使用条件

上一篇:java使用同步的注意点

下一篇:没有了

站点信息

  • 文章统计篇文章