线程

.net – 如何在服务停止的多线程Windows服务中停止工作线程

解决方法的确,应该避免中止.最好给他们一些时间优雅地退出–也许在超时后可能会考虑中止他们–但最终,服务停止可以通过杀死进程来做到这一点.我会尝试在我的队列中发出一个“冲洗和退出”的信号–很像“关闭”方法here,但是在完成时有一些信号.如果你诉诸中止–认为这个过程是致命的.尽快杀死它

Java – 停止ExecutorService中的所有任务

我有一些执行器服务来安排本地任务,如读取文件,连接到数据库等.这些进程执行大量的日志记录,这是基于有许多线程并发运行的事实,将自己的东西写入日志.现在,在某个时间点可以引发异常,该异常到达捕获所有异常的主要方法.然后我关闭所有服务并取消每个任务,希望阻止所有进一步的消息到日志.不幸的是,在关闭所有内容后,这些消息仍然显示出来……

java – guava-libraries:是Iterators.cycle()线程安全吗?

假设我有以下类:如果Foo的一个实例被两个线程同时访问,我需要每个线程从iterator.next()获取一个不同的值.bar()方法是否必须同步?还是iterator.next()保证线程安全?在这个例子中,我使用一个ArrayList作为底层的Iterable.循环迭代器的线程安全性是否取决于具体的可迭代实现?谢谢.解决方法Guava中几乎没有任何东西保证线程安全,除非这样记录.您不必同步整个条形法,但您应该将该调用包装到同步块中的iterator.next()中.例如:

如何在Java中检查线程是否已经启动?

8个我有一个扩展Thread的类.我会在某个时候开始这个帖子.一段时间后,我需要检查该线程是否已经启动?这样我就可以在那一点开始.我的线程类是,我需要知道BasicChatListener类的特定线程是否正在运行?因为我的应用程序中已经有多个线程在运行.我们的堆栈成员将如何帮助我.解决方法您可以使用Thread.getState()并使用相应的states.请注意,当您阅读此状态时,它可能已更改,但您可能能够确定感兴趣的内容.查看thisstatediagram了解可用的转换.

将System.out重定向到JavaFX中的TextArea

编辑我认为你的问题是你在GUI线程中运行一些长时间的任务,这将冻结一切,直到完成.我不知道是什么但是,如果需要几秒钟,您的GUI将不会在几秒钟内更新.您需要在单独的线程中运行这些任务.为了记录,这工作正常:

Java并发:“级联”变量中的易失性与最终性?

是同样的如果内部Map由不同的线程访问?或者甚至是这样的要求:如果它不是一个“级联”地图,那么final和volatile最终会产生同样的效果,即所有线程总是看到Map的正确内容……但是如果Mapiteself包含一个map,会发生什么?

多线程 – 具有隐藏窗口的线程的线程消息循环?

我有一个Delphi6应用程序,它有一个专用于与使用SendMessage()和WM_copYDATA消息与外部程序连接的外部应用程序进行通信的线程.因此,我使用AllocateHWND()创建一个隐藏窗口来满足此需求,因为由于SendMessage()函数只接受窗口句柄而不是线程ID,因此线程消息队列将无法工作.我不确定的是在线程Execute()方法中放入什么.我假设如果我使用GetMessage()循环或创建一个带有WaitFor*()函数的循环调用,那么线程将阻塞,因此线程的WndProc()永远

java – 对ThreadLocal感到困惑

我今天早上刚刚了解了ThreadLocal.我读到它应该总是最终的和静态的:我的困惑是:因为它是静态的,所以JVM中的任何线程都可以使用它.然而,它会保存访问它的每个线程的本地信息吗?我试图绕过这个,所以如果不清楚我会道歉.应用程序中的每个线程都可以访问相同的ThreadLocal对象,但ThreadLocal对象将存储每个线程的本地对象?

Java中的多线程JPEG图像处理

我在使用多线程环境中的ImageIO帮助读取Java图像时遇到问题.只有多个线程尝试读取图像时才会出现问题.症状从错误的配置文件加载到异常有所不同:无论我如何阅读图像,通过ImageIO.read或使用ImageReader.源数据(图像)完全隔离且不可变.这个问题可能与:https://bugs.openjdk.java.net/browse/JDK-8041429和https://bugs.o

监视java线程执行的工具

我有一个在Tomcat服务器上运行的javaWeb应用程序.在生产环境中,我遇到了一些性能问题.在随机的时间间隔运行tomcat的jsvc进程开始以90-100%的cpu运行.我无法找到此事件的触发器.服务器是四核系统.内存消耗并不表示任何异常.如何监视应用程序中的哪个线程导致问题?