【发布时间】:2015-03-13 04:26:35
【问题描述】:
我们动态添加线程。首先编号为 1,并开始运行,一旦创建 2_nd 线程,第一个线程应该阻塞并且 2_nd 线程应该执行,当 2_nd 线程完成时任务 1_st 线程继续执行。这个应该适用于动态 N 个线程。我需要顺序工作线程和单线程执行。 onItemClick 每次我创建线程并需要最后创建的线程执行其他等待。这是 onItemClick 中的代码 而在我的代码中,它按顺序运行。一个完成然后启动另一个
Thread testThread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
for (int i = 0; i < 15; i++) {
Log.i("log", "name = " + i + Thread.currentThread().getName());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "ThreadName=" + magazineId);
try {
Thread currentThread = Thread.currentThread();
if(Looper.getMainLooper().getThread() != currentThread) {
// Current Thread is Main Thread.
currentThread.join(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
testThread.start();
【问题讨论】:
-
我已经阅读了,但它对如何组织我描述的线程执行顺序没有帮助。
-
先尝试一下,把你的代码放在这里,然后社区当然可以插入缺失的部分
-
一旦你发现自己试图操纵线程的执行顺序,你就知道你肯定使用了错误的工具来完成你的工作。如果您需要顺序执行,请不要使用线程。线程的唯一目的是非顺序执行。
标签: java multithreading