java程序主线程中开启三个线程,但运行时只有一个线程活着是怎么回事?

java程序主线程中start开启三个线程,但运行时只有一个线程活着,而且活着的总是先开启的那个线程,是怎么回事?放不下太多字,只能简单表示一下了,主方法类://创建线程... java程序主线程中start开启三个线程,但运行时只有一个线程活着,而且活着的总是先开启的那个线程,是怎么回事?
放不下太多字,只能简单表示一下了,主方法类:
//创建线程
Spider spider1=new Spider(IrrelevantWordsArray, SymbolWordsArray, BDBFrontier);
Spider spider2=new Spider(IrrelevantWordsArray, SymbolWordsArray, BDBFrontier);
Spider spider3=new Spider(IrrelevantWordsArray, SymbolWordsArray, BDBFrontier);
Thread thread1=new Thread(spider1);
Thread thread2=new Thread(spider2);
Thread thread3=new Thread(spider3);
thread3.start();
thread1.start();
thread2.start();
Spider线程类中是运行同样的抓取代码,其中用到同步机制,问题是上面我先start哪个线程,哪个就执行,其他两个就终止找不到了。。。
展开
 我来答
徐wave
2014-08-20
知道答主
回答量:18
采纳率:0%
帮助的人:14.4万
展开全部
最好将同步机制贴出来。应该是操作了主线程中的变量,锁定之后造成后面两个线程的等待。
匿名用户
2014-08-20
展开全部
其他线程没有获得内存资源 其他线程处于等待或者就绪状态
追问
那是什么原因造成的呢,我感觉是直接就终止了,连等待也没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是生_或死
2014-08-20
知道答主
回答量:34
采纳率:0%
帮助的人:13.6万
展开全部
你不贴代码,别人怎么知道你是怎么写的呢
追问
只写了一部分主方法中的,写不下了,线程类中同步应该没有错,而且开两个线程时一般没事,开三个线程就有这样的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wodatoucai
2014-08-20 · TA获得超过163个赞
知道答主
回答量:121
采纳率:0%
帮助的人:57.6万
展开全部
你确定你线程一直有任务在运行么?
追问
嗯,一直有任务,开两个线程没出现这个问题,开三个就只有一个在一直运行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
川寒百岛
2014-08-20 · TA获得超过142个赞
知道小有建树答主
回答量:636
采纳率:0%
帮助的人:212万
展开全部
运用了加锁机制??
追问
Spider线程类中运用了,但应该不是同步的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式