线程练习,感觉自己眼瞎了
来源:互联网 发布:wine for ubuntu下载 编辑:程序博客网 时间:2024/05/01 22:51
/*
*某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,
并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:
编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]
编号为: 1 的员工 从后门 入场! 拿到的双色球彩票号码是: [06, 11, 14, 22, 29, 32, 15]
//.....
从后门入场的员工总共: 13 位员工
从前门入场的员工总共: 87 位员工
*/
package cn.mrli.demo1;
public class Demo2 {
public static void main(String[] args) {
// SSQ ssq = new SSQ();
// new Thread(ssq, "前门").start();
// new Thread(ssq, "后门").start();
Number num = new Number();
new Thread(num, "前门").start();
new Thread(num, "后门").start();
}
}
public class Number implements Runnable {
private static int person = 100;
private int sumq = 0;
private int sumh = 0;
Random r = new Random();
public void run() {
while(true){
synchronized (this) {
try{
if(person<0){
return;
}
Thread.sleep(30);
String name = Thread.currentThread().getName();
if(name.equals("前门")){
sumq++;
System.out.println("编号为:"+(100-person+1)+" 的员工 从"+ name + "入场! 拿到的双色球彩票号码是:");
--person;
getNum();
}
if(name.equals("后门")){
sumh++;
System.out.println("编号为:"+(100-person+1)+" 的员工 从"+ name + "入场! 拿到的双色球彩票号码是:");
--person;
getNum();
}
if(person==0){
System.out.println("从后门入场的员工总共:"+sumh+"位员工");
System.out.println("从前门入场的员工总共:"+sumq+"位员工");
person--;
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
public void getNum(){
List<String> list = new ArrayList<String>();
TreeSet<String> ts = new TreeSet<String>();
while(ts.size()<6){
int red = r.nextInt(32)+1;
if(red<10){
ts.add("0"+red);
}else{
ts.add(red+"");
}
}
list.addAll(ts);
int blue = r.nextInt(15)+1;
if(blue<10){
list.add("0"+blue);
}else{
list.add(blue+"");
}
System.out.println(list);
}
}
写了这个练习,去重,要利用set集合
- 线程练习,感觉自己眼瞎了
- 感觉自己发烧了
- 感觉自己落伍了!!
- 感觉自己变懒了
- 感觉自己有点老了
- 感觉自己是越来越操蛋了
- 感觉最近自己太张狂了一些。
- 转载了这篇文章,自己很有感觉
- 感觉自己最近越来越懒了..
- 感觉自己不够用了,怎么办
- 注册了博客,感觉自己就很帅~
- 感觉自己不是电脑盲了
- 老了否?我感觉自己正变得年轻
- 浮躁浮躁,感觉自己最近太浮躁了!
- 能让中国同胞感觉自己被骗了好久
- 参加广州传智播客.Net培训感觉自己成熟了好多
- 若菜acmer感觉自己智商完全被碾压了QAQ~~
- 有点疲惫 感觉自己学着学着就忘了 这一次是ViewPager
- 38.开源项目--git常用命令总结
- 用Dom4j解析自定义数据库XML配置文件
- Java IO 转换流 字节转字符流
- 浅析各类排序算法(四) 插入类排序之直接插入排序及折半插入,2-路插入算法
- Android应用性能优化系列视图篇——ListView自适应导致的严重性能问题
- 线程练习,感觉自己眼瞎了
- 【dfs】CodeForces
- LAMP环境搭建与配置(三)
- linuxC语言数组基础知识
- vue学习第22天,axios插件
- 在bandwagon上架设web服务器
- 设计模式之观察者模式
- windows命令行安装mysql
- 123