gpt4 book ai didi

java - 一次运行多线程并让线程快速运行?

转载 作者:行者123 更新时间:2023-12-03 13:20:50 24 4
gpt4 key购买 nike

我试图一次运行2个不同的线程,但无法做到这一点。线程_1和线程_2运行,但是它们之间的差约为500毫秒。我在代码中的任何地方都没有使用wait()sleep()

问题:
1 -> How to make run thread simultaneously or in parallel?2 -> How to make thread run fast ?
对于第二个问题,我使用Thread.setPriority(Thread.MAX_PRIORITY);但是彼此之间的时差是相同的。

更新为示例代码:与以下示例相同,但是两个线程之间的运行需要更多时间。

public static void main(String args[])
{
MyThread thread1 = new MyThread("thread1: ");
MyThread thread2 = new MyThread("thread2: ");
thread1.start();
thread2.start();
boolean thread1IsAlive = true;
boolean thread2IsAlive = true;
do {
if (thread1IsAlive && !thread1.isAlive()) {
thread1IsAlive = false;
System.out.println("Thread 1 is dead.");
}
if (thread2IsAlive && !thread2.isAlive()) {
thread2IsAlive = false;
System.out.println("Thread 2 is dead.");
}
} while(thread1IsAlive || thread2IsAlive);
}

我已经完成了google并浏览了一些文档。但是无法做到。

任何人都可以给我一些想法或方法。

帮助将不胜感激。

最佳答案

How to make run thread simultaneously or in parallel?



作为程序员,它只能在多处理器计算机上使用。在单处理器上,一次只能运行一个线程,由JVM(和OS)选择运行哪个线程。

How to make thread run fast ?



您可以尝试(如您所做的那样),但是总体控制仅适用于JVM(和OS)。

但是,增加线程的优先级并不意味着它会快速运行。它只会使该线程比其他线程更频繁地运行。也就是说,操作系统可能会(或可能不会)选择更多。时间比其他线程多。

详细了解此 link。也检查 this

关于java - 一次运行多线程并让线程快速运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13743370/

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