gpt4 book ai didi

java - Java 响应式 UI 的多线程和 hibernate

转载 作者:行者123 更新时间:2023-12-03 13:42:53 25 4
gpt4 key购买 nike

我正在阅读有关多线程的文章:http://www.ntu.edu.sg/home/ehchua/programming/java/j5e_multithreading.html

它建议(不要求)在单核 CPU 的 CPU 密集型任务中添加一个Thread.sleep(10),并且通过这样做有效地,你给了 CPU 额外的时间来更新它拥有的所有其他线程(最重要的是,程序的 UI,我正在努力改进)。

这对我来说没有任何意义。虽然我的程序没有响应,但我计算机的其余部分运行良好,而且我相信是 Windows 为每个程序分配了 CPU 时间。

无论如何,这是个好建议吗?如果是,我是说“这是其他线程的 10 毫秒奖励”,还是 Thread.sleep(0) 工作正常?

最佳答案

我认为这对一篇可追溯到 2004 年的文章(因为它引用了 JDK5 的新特性)和 2006 年出现的第一个双核处理器是一个很好的建议。当你有单核并且对于一个长时间运行的进程线程让出会让你系统响应更快。

我认为如果您的应用程序加载所有可用内核,今天就可以应用相同的技术。对于一篇文章中的示例,我认为这个长时间运行的操作可以直接放到线程池中而不产生任何结果。

更新

线程屈服在很大程度上取决于环境:yield(), sleep(0), wait(0,1) and parkNanos(1)

If you want to wait for a short period of time, you can't assume that all these methods do the same thing, nor will be the same between platforms.

关于java - Java 响应式 UI 的多线程和 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19887633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com