生产与消费(多线程练习题)
生产与消费(多线程练习题)
前言:该题目是网上寻的一个比较好的,多线程的java练习题,博主写下自己的代码,方便大家一起学习理解,java多线程。提交代码:代码语言:javascript代码运行次数:0运行复制import java.util.Random;
import java.util.Vector;
public class Main {
static Random rando
生产与消费(多线程练习题)
前言:该题目是网上寻的一个比较好的,多线程的java练习题,博主写下自己的代码,方便大家一起学习理解,java多线程。
提交代码:
代码语言:javascript代码运行次数:0运行复制import java.util.Random;
import java.util.Vector;
public class Main {
static Random random = new Random();
static Vector<String> queue = new Vector<>(); // 创建队列
static class MyThread extends Thread{ // 通过继承的方法来实现多线程
public MyThread() {
}
public MyThread(String name) {
super(name);
}
@Override
public void run(){
while (true){
try {
sleep(1000); // 一秒的延迟
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if (getame().equals("a")){ // 当是a进程的时候 产生随机字符串
queue.add(() + "字符串");
}
else{
if (queue.isEmpty()){ // 没有字符串的时候
println("no msg"); // 打印报错
}
else
{
String poll = queue.lastElement(); // 返回队列的最后一个元素
queue.remove(queue.size() - 1); // 然后删除最后一个元素
println(poll); // 打印队列
}
}
}
}
}
public static void main(String[] args) {
// 创建的两个线程
MyThread a = new MyThread();
a.setame("a"); // 设置线程名字
MyThread b = new MyThread();
b.setame("b");
a.start();
b.start();
}
}
运行结果:
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 05:39:55
推荐阅读
留言与评论(共有 18 条评论) |
本站网友 哮喘医院 | 13分钟前 发表 |
方便大家一起学习理解 | |
本站网友 surfacert | 19分钟前 发表 |
分享自作者个人站点/博客 | |
本站网友 四月一号 | 20分钟前 发表 |
提交代码:代码语言:javascript代码运行次数:0运行复制import java.util.Random; import java.util.Vector; public class Main { static Random random = new Random(); static Vector<String> queue = new Vector<>(); // 创建队列 static class MyThread extends Thread{ // 通过继承的方法来实现多线程 public MyThread() { } public MyThread(String name) { super(name); } @Override public void run(){ while (true){ try { sleep(1000); // 一秒的延迟 } catch (InterruptedException e) { throw new RuntimeException(e); } if (getame().equals("a")){ // 当是a进程的时候 产生随机字符串 queue.add(() + "字符串"); } else{ if (queue.isEmpty()){ // 没有字符串的时候 println("no msg"); // 打印报错 } else { String poll = queue.lastElement(); // 返回队列的最后一个元素 queue.remove(queue.size() - 1); // 然后删除最后一个元素 println(poll); // 打印队列 } } } } } public static void main(String[] args) { // 创建的两个线程 MyThread a = new MyThread(); a.setame("a"); // 设置线程名字 MyThread b = new MyThread(); b.setame("b"); a.start(); b.start(); } }运行结果: 本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 平桥房屋出租 | 14分钟前 发表 |
方便大家一起学习理解 | |
本站网友 圆通快递公司电话 | 27分钟前 发表 |
java多线程 | |
本站网友 周泓图片 | 8分钟前 发表 |
方便大家一起学习理解 | |
本站网友 单页面优化 | 15分钟前 发表 |
如有侵权请联系 cloudcommunity@tencent 删除前往查看队列多线程继承线程字符串 | |
本站网友 胃溃疡吃什么好 | 5分钟前 发表 |
博主写下自己的代码 | |
本站网友 稀土金属 | 20分钟前 发表 |
博主写下自己的代码 | |
本站网友 大连新玛特影城 | 2分钟前 发表 |
方便大家一起学习理解 | |
本站网友 弱精症 | 12分钟前 发表 |
原始发表:2022-11-15 | |
本站网友 小米电视主机 | 11分钟前 发表 |
博主写下自己的代码 | |
本站网友 平音 | 20分钟前 发表 |
方便大家一起学习理解 | |
本站网友 病毒名称 | 23分钟前 发表 |
多线程的java练习题 | |
本站网友 两横三纵城市化战略 | 28分钟前 发表 |
提交代码:代码语言:javascript代码运行次数:0运行复制import java.util.Random; import java.util.Vector; public class Main { static Random random = new Random(); static Vector<String> queue = new Vector<>(); // 创建队列 static class MyThread extends Thread{ // 通过继承的方法来实现多线程 public MyThread() { } public MyThread(String name) { super(name); } @Override public void run(){ while (true){ try { sleep(1000); // 一秒的延迟 } catch (InterruptedException e) { throw new RuntimeException(e); } if (getame().equals("a")){ // 当是a进程的时候 产生随机字符串 queue.add(() + "字符串"); } else{ if (queue.isEmpty()){ // 没有字符串的时候 println("no msg"); // 打印报错 } else { String poll = queue.lastElement(); // 返回队列的最后一个元素 queue.remove(queue.size() - 1); // 然后删除最后一个元素 println(poll); // 打印队列 } } } } } public static void main(String[] args) { // 创建的两个线程 MyThread a = new MyThread(); a.setame("a"); // 设置线程名字 MyThread b = new MyThread(); b.setame("b"); a.start(); b.start(); } }运行结果: 本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 五棵松电影院 | 22分钟前 发表 |
博主写下自己的代码 | |
本站网友 华润置地北京 | 3分钟前 发表 |
分享自作者个人站点/博客 |