首页 / JAVA / java--多线程习题练习
java--多线程习题练习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java--多线程习题练习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1275字,纯文字阅读大概需要2分钟。
内容图文
![java--多线程习题练习](/upload/InfoBanner/zyjiaocheng/1046/b5fce7f6f2f8412b845034b16c0610c2.jpg)
1.有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300};
创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”,“抽奖箱2”,随机从arr数组中获取奖项元素并打印在控制台上,格式如下:
抽奖箱1 又产生了一个 10 元大奖
抽奖箱2 又产生了一个 100 元大奖
//.....
public class ChoujiangDemo {
public static void main(String[] args) {
Chou c = new Chou();
Thread t1 = new Thread(c,"抽奖箱1");
Thread t2 = new Thread(c,"抽奖箱2");
t1.start();
t2.start();
}
}
public class Chou implements Runnable {
int[] arr = { 10, 5, 20, 50, 100, 200, 500, 800, 2, 80, 300 };
int num = arr.length;
boolean[] flag = new boolean[arr.length];
public void run() {
while (true) {
synchronized (this) {
if (num > 0) {
int index = (int) (Math.random() * arr.length);
int get = arr[index];
// 代表这张抽奖券抽过了
if (flag[index] != true) {
flag[index] = true;
System.out.println(Thread.currentThread().getName()
+ " 又产生了一个" + get + "元大奖");
num--;
}
}
}
}
}
}
=================================================================================
4、某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,
并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:
编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]
编号为: 1 的员工 从后门 入场! 拿到的双色球彩票号码是: [06, 11, 14, 22, 29, 32, 15]
//.....
从后门入场的员工总共: 13 位员工
从前门入场的员工总共: 87 位员工
原文:https://www.cnblogs.com/czy16/p/8325883.html
内容总结
以上是互联网集市为您收集整理的java--多线程习题练习全部内容,希望文章能够帮你解决java--多线程习题练习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。