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

标签 java android multithreading

我试图一次运行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/

相关文章:

java - Mockito 的@After 和 verifyNoMoreInteractions

java - 如何使用 Jackson 反序列化 JS 日期?

android - 如何更改最后一个 ListView 适配器索引的颜色

java - 一些安卓手机在设置中没有打开 “About device” 页面?

java - 在另一个元素中使用显式等待查找元素

swift - 如何使用 XCTest 测试线程安全

java - 如何在java中实现嵌套数组列表?

java - 具有持久性的 HTTP POST 请求的非阻塞队列

c# - 与进度条并行处理一个月的日期

python - 定义适当的进程数