日期:2014-05-20  浏览次数:20739 次

线程管理的问题?
例如迅雷,
可以暂停/重新开始 某个下载任务。
每个任务分配一个线程去下载,这样如何去管理这些线程呢?比如我要暂停某个任务,可以直接杀死对应的线程,重新开始时再创建一个线程从原来的地方开始下载。请问这样的线程管理在JAVA里如何做到?谢谢!

------解决方案--------------------
百度 线程池
------解决方案--------------------
探讨

引用:

引用:

线程池里保存着线程的引用 有了某个线程的引用对象 你要销毁还是关闭都可以

不是JAVA不允许强行销毁么....难道我记错了......

强行销毁是啥意思?

------解决方案--------------------
感觉这不是简单的线程机制可以实现的,断点续传应该还有其他方面的问题。 但是线程管理,用线城池
和futureTask就可以了
------解决方案--------------------
探讨

引用:
1.线程正常执行完毕,正常结束;
2.监视某些条件,条件满足时退出运行;
3.捕获InterruptedException 运行时异常,中断当前线程;

1,这个就不说了,我需要在线程活着的时候杀死它。
2,这样当run中代码阻塞时好像无效啊
3,咋搞?

------解决方案--------------------
试想一下,用播放器去读取DVD,
由于DVD很破,卡主了,你想强制结束也要卡半天。
------解决方案--------------------
估计猜测是有个线程可访问的共享之源,线程读取这个共享之源获取相应的指令.当事件发生时,线程读取信息,当满足一定情况时,线程自己结束。
------解决方案--------------------
使用 非阻塞通信 和 13楼那样的代码 ,就可以了。

------解决方案--------------------
探讨

引用:

引用:
1.线程正常执行完毕,正常结束;
2.监视某些条件,条件满足时退出运行;
3.捕获InterruptedException 运行时异常,中断当前线程;

1,这个就不说了,我需要在线程活着的时候杀死它。
2,这样当run中代码阻塞时好像无效啊
3,咋搞?


我一般这么搞。
Java ……