Android - 同时运行两个线程

时间:2016-01-14 11:52:12

标签: android multithreading

我有一个问题,首先是我的代码的一部分。

        myThread thread1;
        myThread2 thread2;
        if (firstThread == null) {
            (thread1 = new myThread()).start();
            Toast.makeText(CreateService.this, "first thread started",
                    Toast.LENGTH_LONG).show();
        }

        if (secondThread== null) {
            (thread2 = new myThread2()).start();
            Toast.makeText(CreateService.this, "second thread started",
                    Toast.LENGTH_LONG).show();
        }

我的问题: 2个线程是否同时运行?还是一个接一个? 如何在同一时间查看代码?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您目前位于主线程中:

MAIN

你启动thread1:

MAIN  
startsThread1 ->    THREAD1
Toast               thread 1 executes

你启动thread2:

MAIN  
startsThread1 ->    THREAD1
Toast               thread 1 executes
startsThread2 ->                        -> THREAD2
Toast                                      thread 2 executes

您的主线程,thread1和thread2将同时执行。 你的吐司会在他们两个都执行时显示,而不是之后,因为你在主线程上呈现吐司(这是你应该做的UI更改的唯一线程)

答案 1 :(得分:0)

线程并行运行所以如果创建两个以上的线程,所有将同时运行,要知道它们同时运行/并行记录来自每个线程的消息,如

来自主题1

for(int count=0; count < 100; count++)
    Log.d("Thread 2":"Count : "+count);

来自主题2

testDb.TestRunsRepo = mockTestRunRepo;