package com.qdu.syn;
/**
* @author dell
* @version 1.0
*/
public class SellTicket {
public static void main(String[] args) {
// SellTicket01 sellTicket01 = new SellTicket01();
// SellTicket01 sellTicket02 = new SellTicket01();
// SellTicket01 sellTicket03 = new SellTicket01();
//
// sellTicket01.start();
// sellTicket02.start();
// sellTicket03.start();
SellTicket03 sellTicket03 = new SellTicket03();
new Thread(sellTicket03).start();
new Thread(sellTicket03).start();
new Thread(sellTicket03).start();
}
}
class SellTicket03 implements Runnable {
private static int ticketNum = 100;//让多个线程共享
private boolean loop = true;
public /*synchronized*/ void sell() {
synchronized (this) {
if (ticketNum <= 0) {
System.out.println("售票结束...");
loop = false;
return;
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println("窗口 " + Thread.currentThread().getName() + " 售出一张票" + ",剩余票数 " + (--ticketNum));
}
}
@Override
public void run() {
while (loop) {
sell();
}
}
}
class SellTicket01 extends Thread {
private static int ticketNum = 100;//让多个线程共享
@Override
public void run() {
while (true) {
if (ticketNum <= 0) {
System.out.println("售票结束...");
break;
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println("窗口 " + Thread.currentThread().getName() + " 售出一张票" + ",剩余票数 " + (--ticketNum));
}
}
}
class SellTicket02 implements Runnable {
private static int ticketNum = 100;//让多个线程共享
@Override
public void run() {
while (true) {
if (ticketNum <= 0) {
System.out.println("售票结束...");
break;
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println("窗口 " + Thread.currentThread().getName() + " 售出一张票" + ",剩余票数 " + (--ticketNum));
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java 第二阶段提升编程能力【线程(基础)】---- 代码
共32个文件
class:18个
java:9个
xml:3个
需积分: 6 0 下载量 95 浏览量
2022-08-17
10:48:07
上传
评论
收藏 23KB ZIP 举报
温馨提示
Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码 Java 第二阶段提升编程能力【线程(基础)】---- 代码
资源详情
资源评论
资源推荐
收起资源包目录
chapter17.zip (32个子文件)
chapter17
src
com
qdu
ticket
SellTicket.java 1KB
method
ThreadMethod01.java 105B
syn
SellTicket.java 3KB
threaduse
Thread02.java 785B
Thread01.java 1KB
CpuNum.java 179B
Thread03.java 1KB
exit_
ThreadExit.java 771B
Main.java 156B
.idea
misc.xml 278B
modules.xml 265B
workspace.xml 5KB
.gitignore 184B
chapter17.iml 433B
out
production
chapter17
com
qdu
ticket
SellTicket01.class 1KB
SellTicket.class 626B
method
ThreadMethod01.class 297B
syn
SellTicket01.class 1KB
SellTicket.class 619B
SellTicket03.class 1KB
SellTicket02.class 1KB
threaduse
CpuNum.class 397B
Thread01.class 1KB
T1.class 1KB
Dog.class 1KB
T2.class 1KB
Thread03.class 749B
Cat.class 1KB
Thread02.class 626B
exit_
T.class 1KB
ThreadExit.class 660B
Main.class 516B
共 32 条
- 1
在人间负债^
- 粉丝: 1w+
- 资源: 44
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0