2 qq 39773743 qq_39773743 于 2017.09.13 11:00 提问

无限循环写入的线程,流要怎么关闭?

创建4条线程,用 FileOutputStream 无限循环写入文件,项目不停止线程就一直运行,那么流该怎么关闭?

3个回答

XianRenShan
XianRenShan   2017.09.13 11:04
qq_39388178
qq_39388178   2017.09.13 12:38

你是想关闭当前线程的流,还是4个线程循环使用一个流,如果只是想关闭流,肯定是直接调用流的close方法关闭流,如果有条件就做个判断

qq_39773743
qq_39773743 4个线程使用的一个流,我在main里面写了个判断,t1.isAlive() 用这个判断流是否处于活跃状态,但如果是直接结束程序的话,这个判断是不是没执行就结束了?
2 个月之前 回复
ShewMi
ShewMi   2017.09.13 13:21

将四个线程放入线程池,关闭的话依次遍历执行close即可。

ShewMi
ShewMi 发送结束子线程的信号后,不要马上关闭流,建议每隔1秒到2秒判断4个子线程isAlive,如果挂了就将线程对象设置null释放掉对流的锁之后,再在主线程那里关闭流即可。
2 个月之前 回复
qq_39773743
qq_39773743 谢谢回答,但是如果不适用线程池该怎么关闭
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片