您现在的位置是:首页 > 编程 > 

生产与消费(多线程练习题)

2025-07-24 04:31:46
生产与消费(多线程练习题) 前言:该题目是网上寻的一个比较好的,多线程的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();
    }
}

运行结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent 删除队列多线程继承线程字符串

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1155273.html

相关标签:无
上传时间: 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分钟前 发表
分享自作者个人站点/博客