首页 > 其他分享 >解决线程安全问题二

解决线程安全问题二

时间:2022-11-12 16:13:21浏览次数:47  
标签:Thread start Window3 安全 线程 解决 new ticket public

package deep;
//同步方法
class Window3 implements Runnable {
private int ticket = 100;

public void run() {
while (true) {
show();
}
}

private synchronized void show() {

if (ticket > 0) {

try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ":卖票:票号为:" + ticket);
ticket--;
}

}
}

public class WindowTest3 {
public static void main(String[] args) {
Window3 w = new Window3(); //创建一个对象

Thread t1 = new Thread(w); //三个构造器使用同一个对象
Thread t2 = new Thread(w);
Thread t3 = new Thread(w);

t1.setName("窗口1");
t2.setName("窗口2");
t3.setName("窗口3");

t1.start();
t2.start();
t3.start();
}
}

标签:Thread,start,Window3,安全,线程,解决,new,ticket,public
From: https://www.cnblogs.com/liujy2233/p/16883987.html

相关文章

  • # yyds干货盘点 # lxml安装不上,经过了以下尝试:删掉python然后重新安装,更新了pip到最新
    大家好,我是皮皮。一、前言前几天在Python黄金交流群【whoareyou~】问了一个​​Python​​库安装的问题,提问截图如下:报错截图如下:二、实现过程这里【孤烟逐云】给了一个思......
  • 解决error:java:不支持发行版本5
    解决IDEA报错:error:java:不支持发行版本5今天在maven项目里面运行的时候,出现error:java:不支持发行版本5报错,原因是项目运行的时候,jdk版本与本地的版本不一致,我的本地jd......
  • 如何解决多线程安全问题一
    packagedeep;//问题:出现重票和错票(即线程安全问题)//原因:某个线程操作车票的过程中,未完成时其它线程就参与进来,也操作//如何解决:a操作完才允许其它线程加入//在java中通过......
  • Win10无法登录微软账号错误代码0x80190001的解决方法
    和控制面板内的“Internet选项”设置有关。进入“Internet选项”的“高级”选项卡。检查“HTTP”设置,不要勾选使用代理使用http;检查“安全”设置,勾选使用TLS1.2。如果仍......
  • 线程、 进程、 协程
    1.多线程(单线程、多线程)#线程、进程#线程是执行单位进程->公司线程->员工#进程是资源单位(每一个进程里面至少有一个线程)#单线程deffunc():for......
  • 【lwip】12-一文解决TCP原理
    目录前言12.1TCP协议简介12.2TCP相关的一些概念词12.2.1MSL12.2.2MSS12.3TCP工作特性12.3.1面向连接12.3.2全双工通信12.3.3可靠性12.3.4缓冲机制12.3.5拥塞控制......
  • 线程创建
    线程创建继承Thread类方法1.自定义线程继承Thread类2.重写run()方法,编写线程执行体3.创建线程对象,调用start()方法启动线程注意:线程不一定立即执行,CPU安排调度pack......
  • 线程协作(生产者消费者模式)
    线程协作(生产者消费者模式)线程通信1.Java提供了几个方法解决线程之间的通信问题​。wait()表示线程一直等待,直到其他线程通知,与sleep不同,会释放锁​......
  • 线程同步(多个线程操作同一个资源)
    线程同步(多个线程操作同一个资源)核心概念线程是独立的执行路径在下线程运行时,即使没有自己创建线程,后台也会有多个线程,如:主线程,gc线程;main()称之为主线程,为系统的入......
  • 20221112 - Find Device closed unexpectedly 问题解决
    问题现象:小米手机屏幕下方每隔2秒弹出 FindDeviceclosedunexpectedly问题解决:备份数据;并恢复出厂设置(开机前,按住音量键上或下+开机键)。备注:也尝试了一些网上的说法......