我有一个问题,首先是我的代码的一部分。
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个线程是否同时运行?还是一个接一个? 如何在同一时间查看代码?
提前致谢!
答案 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;