【发布时间】:2014-12-15 21:28:20
【问题描述】:
我确定这个问题之前在这里被问过,但是在谷歌和这里搜索之后我找不到任何东西。
这是我的情况,我有多个线程写入文件,还有一个主线程创建打印写入器并处理创建文件并在 try/catch 循环中的 finally 块内关闭打印写入器。当我在 Eclipse 中运行应用程序时,我会按下停止/终止按钮,并且该文件没有写入任何内容。我想确保我在这里所做的一切都是正确的,或者是否有更好的方法来处理在执行终止时关闭打印编写器。哎呀,如果有更好的方法来处理写入文件的多个线程,我很欢迎这个建议(我现在在多线程编程方面非常糟糕)。
【问题讨论】:
-
在开发过程中,您也许可以在每次写入后刷新。
-
一些见解(关于最终终止):stackoverflow.com/questions/1410951/…
-
@aioobe 没想到。只是将它用于个人测试,而不是用于生产,所以我会尝试。
-
我猜不是,尤其是您对问题的描述。可能 Eclipse 只是使用(不安全,已弃用)Thread.stop() 来核对您的应用程序,因此之后根本不会执行任何代码。
-
@TJ- 啊哈!这可能会有所帮助,我想我无法正确表达它。但是我仍然想要一些更好的多线程建议,所以我应该编辑我的问题以反映这一点吗?
标签: java eclipse multithreading printwriter