今天就跟大家聊聊有关Java中怎么实现Thread队列,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java Thread队列一直是我们需要掌握的代码。下面我们就基本思想:建立了一个
今天就跟大家聊聊有关Java中怎么实现Thread队列,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Java Thread队列一直是我们需要掌握的代码。下面我们就基本思想:建立了一个队列,为每一个Java Thread队列保存了一个对象锁,保证按顺序执行。线程启动的时候,使随机的,但是执行代码是按顺序的。
import java.util.LinkedList; import java.util.Queue; public class ThreadTest { private static Queue Qthread=new LinkedList();//线程同步对象队列 public static synchronized void putObject(Object t){ qThread.offer(t); } public static synchronized Object getObject(){ return qThread.poll(); } public static void waitThread(Object t) throws InterruptedException{ synchronized(t){ t.wait(); } } public static void notifyThread(){ Object obj=ThreadTest.getObject(); synchronized(obj){ obj.notify(); } } public static void main(String[] args) throws InterruptedException { int i = 0; boolean isFirst=true; while (i < 10) { Object obj=new Object(); if(i>0){ isFirst=false; ThreadTest.putObject(obj); } Thread t2 = new Thread2(isFirst,obj); Object obj2=new Object(); ThreadTest.putObject(obj2); Thread t3 = new Thread3(obj2); t2.start(); t3.start(); i++; } } } class Thread2 extends Thread { private boolean isFirst=false; private Object obj; public Thread2(boolean f,Object obj){ this.isFirst=f; this.obj=obj; } @Override public void run() { if(!this.isFirst){ System.out.println(this.getName()+"等待..."); try{ ThreadTest.waitThread(obj); }catch(InterruptedException e){ e.printStackTrace(); } } System.out.println("启动"+this.getName()+"..."); try { sleep(3000);//等待3秒,为了测试 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("停止"+this.getName()+"..."); ThreadTest.notifyThread(); } } class Thread3 extends Thread { private Object obj; public Thread3(Object obj){ this.obj=obj; } @Override public void run() { System.out.println(this.getName()+"等待..."); try{ ThreadTest.waitThread(obj); }catch(InterruptedException e){ e.printStackTrace(); } System.out.println("启动"+this.getName()+"..."); try { sleep(3000);//等待3秒,为了测试 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("停止"+this.getName()+"..."); ThreadTest.notifyThread(); } }
看完上述内容,你们对Java中怎么实现Thread队列有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。
--结束END--
本文标题: Java中怎么实现Thread队列
本文链接: https://www.lsjlt.com/news/290360.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
2024-05-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模 安全指南 Osprey 游戏分析 游戏调试 游戏图形 游戏物理 开源库 魔方破解 游戏安全 反作弊 安全最佳实践 游戏逻辑 LaVie 域名转让平台 域名在哪个平台可以转让 自己的域名怎么出售 域名第三方买卖
0