java实现多线程(车站卖票)
import java.util.ArrayList;
import java.util.List;
public class 多线程 {
// public static int j=0;
public static long a=0;
public static void main(String[] args) throws InterruptedException {
List<Thread> list = new ArrayList<Thread>();
System.out.println(System.currentTimeMillis());
a=System.currentTimeMillis();//开始运行计时器
aa a1 = new aa();
Thread aa1= new Thread(a1,"1号");;//都共用一个,分成不同的线程
Thread aa2= new Thread(a1,"2号");;
Thread aa3= new Thread(a1,"3号");;
Thread aa4= new Thread(a1,"4号");;
Thread aa5= new Thread(a1,"5号");;
list.add(aa1);//把每一个线程都放入里面
list.add(aa2);
list.add(aa3);
list.add(aa4);
list.add(aa5);
aa1.setPriority(10);//设置线程的优先级
aa2.setPriority(10);
aa3.setPriority(10);
aa4.setPriority(10);
aa5.setPriority(10);
aa1.start();//开始每一个线程
aa2.start();
aa3.start();
aa4.start();
aa5.start();
// for (int i = 0; i < 4; i++) {
// list.get(i).join();
// }
// System.out.println(System.currentTimeMillis());
Thread currtime = new Thread(new cc());
currtime.setPriority(1);
currtime.start();//结束运行计时器
System.out.println("546545645645646546468468461654654654654");
// System.out.println(j);
}
}
class aa implements Runnable{
//这是车票,调用的时候分为不同的车站口出票
// 多线程 a = new 多线程();
private int b =1000;
@Override
public void run() {
// TODO Auto-generated method stub
while(b>0) {
Thread th = Thread.currentThread();
String s = th.getName();
System.out.println(s+"正在出售第"+b--+"张票");
}
}
}
class cc implements Runnable{
//计时
@Override
public void run() {
多线程 a = new 多线程();
// TODO Auto-generated method stub
System.out.println(System.currentTimeMillis()-a.a);
}
}
class bb implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 1; i < 1000000; i++) {
int j=1+1+1+1;
}
}
}
java实现多线程(车站卖票)的更多相关文章
- java学习多线程之卖票示例
这一节我们来说一个示例就是卖票示例: 需求: 我们现在有100张票,然后分四个窗口来卖,直到卖完为止. 思路: 1.先定一个一个票类,描述票的属性,还有打印卖出的票,并且实现Runnable中的run ...
- Java之多线程窗口卖票问题(Runnable)
/** * 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式 * 存在线程的安全问题,待解决. */class Window1 implements Runnable{ p ...
- Java之多线程窗口卖票问题(Thread)
/** * * 例子:创建三个窗口卖票,总票数为100张.使用继承Thread类的方式 * * 存在线程的安全问题,待解决. * */class Window extends Thread{ priv ...
- java多线程实现卖票小程序
package shb.java.demo; /** * 多线程测试卖票小程序. * @Package:shb.java.demo * @Description: * @author shaobn * ...
- java 多线程之卖票两种方式
1.通过extends Thread /* 需求:简单的卖票,多个窗口同时买票 (共用资源) 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runnable接口 2,覆盖/重写 ...
- java笔记线程电影院卖票最终版
* 如何解决线程安全问题呢? * * 要想解决问题,就要知道哪些原因会导致出问题:(而且这些原因也是以后我们判断一个程序是否会有线程安全问题的标准) * A:是否是多线程环境 * B:是否有共享数据 ...
- java笔记线程电影院卖票改进版
通过加入延迟后,就产生了连个问题: * A:相同的票卖了多次 * CPU的一次操作必须是原子性的 * B:出现了负数票 * 随机性和延迟导致的 public class SellTicketD ...
- JAVA培训—线程同步--卖票问题
线程同步方法: (1).同步代码块,格式: synchronized (同步对象){ //同步代码 } (2).同步方法,格式: 在方法前加synchronized修饰 问题: 多个人同时买票. 1. ...
- Java中多线程的使用(超级超级详细)线程安全原理解析 4
Java中多线程的使用(超级超级详细)线程安全 4 什么是线程安全? 有多个线程在同时运行,这些线程可能会运行相同的代码,程序运行的每次结果和单线程运行的结果是一样的,而且其他变量的值也和预期的值一样 ...
随机推荐
- [hdu5319]二进制表示,简单模拟
题意:给一个矩形,矩形里面画了4种符号,'.'表示没画线,'R'表示画了红线,'B'表示画了蓝线,'G'表示红线和蓝线同时画了,并且矩形主对角线上只能画红线,副对角线上只能画蓝线,问最少画多少条线才能 ...
- 盘点6个Kubernetes监视工具
导读:监控可帮助您确保Kubernetes应用程序平稳运行并排除可能出现的任何问题.Prometheus是一种流行的开源监视工具,许多公司都使用它来监视其IT基础结构.但是,还有许多其他监视工具可用. ...
- qt creator源码全方面分析(4-6)
目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defi ...
- java ->IO流_转换流
转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStre ...
- Python-实现sign签名接口校
前言 在之前的随笔中,我们已经学过了如何使用使用JMeter和Postman实现sign签名接口校验的接口测试,今天我们来学习一下如何写Python脚本实现签名接口的接口测试. 签名接口: 地址: h ...
- 黑马程序员_毕向东_Java基础视频教程——三元运算符(随笔)
三元运算符:三个元素参与运算的符号 [三元运算符:简略版的 if(){} else() {}语句] class Text { public static void main(String[] args ...
- React 中使用sass
npm install node-sass-chokidar --save-dev package.json添加两行: "scripts": { 2 "build-css ...
- PAT-1132 Cut Integer (整数分割)
Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long int ...
- Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn)
Flask搭建个人博客网站(1)—项目规划--李渣渣(lizaza.cn) 发布时间:2020-05-2413次浏览 前言 现在市面上又许多比较成熟的博客平台,例如:CSDN,博客园,新浪博客等!对于 ...
- Xilinx的DocNav文件导航中的文档开头字母缩写都是什么意思?
在安装Xilinx的开发软件后都会附带安装一个用于查阅Xilinx技术文档的文件导航工具DocNav. 在DocNav中可以找到几乎所有对我们开发Xilinx FPGA有用的技术文档,其中的文档数量更 ...