Java Thread队列一直是我们需要掌握的代码。下面我们就基本思想:建立了一个队列,为每一个Java Thread队列保存了一个对象锁,保证按顺序执行。线程启动的时候,使随机的,但是执行代码是按顺序的。

创新互联建站专注于企业成都全网营销、网站重做改版、固安网站定制设计、自适应品牌网站建设、HTML5建站、商城系统网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为固安等各大城市提供网站开发制作服务。
- 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++;
 - }
 - }
 - }
 - /**
 - * 线程2
 - *
 - * @author Harry.WANG
 - *
 - */
 - 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队列的详细介绍。希望大家有所帮助。
                网页名称:JavaThread队列详细代码的介绍
                
                地址分享:http://www.csdahua.cn/qtweb/news1/506301.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网