gpt4 book ai didi

Java+线程控制方法

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:45 28 4
gpt4 key购买 nike

我陷入了线程问题,尤其是涉及计时的问题。我知道 Thread.wait、Thread.notify、Thread.sleep、Thread.yield 和 LockSupport.parkXXX。是否有其他方法可以用来影响线程执行的时间?

我想要像产量这样的东西,但更理想的是有更好的控制。

有没有办法维护有关操作系统正在使用的调度程序的信息?我的意思是像它正常分配的切片一样,控制一个或多个线程的切片持续时间等等......。

我想获得微秒分辨率,而无需主动(忙)等待。有没有办法使用空闲操作代码/系统函数来进行繁忙等待?

PS:我会对 C 提出类似的问题。

最佳答案

Linux 和大多数操作系统的最小时间片是 0.1 毫秒或 1 秒的 1/10,000。

如果您想要完全控制 CPU,我建议您在关闭中断的情况下忙于等待隔离的 CPU,尽管您会看到一些 10 - 40 微秒的抖动。如果您不忙于等待隔离的 CPU,您可以看到大约 5 - 50 毫秒的抖动。在虚拟机上,50 毫秒的抖动非常常见。

您可以使用 MicroJitterSampler 在您的计算机上进行测试如果您没有该库,您可以注释掉 Affinity 的行(尽管如上所述,您会看到很多噪音)

关于Java+线程控制方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35131089/

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