我有一个以上的处理器(线程)执行以上,有的线程依赖于另一个的结果..所以我想打线以定义的顺序如何允许两个线程以android中的预定义顺序执行?
0
A
回答
2
您可以从第一个线程,第二线程中执行。
final Thread th2 = new Thread(new Runnable(){
public void run(){
doSomething2;
}
}
Thread th1 = new Thread(new Runnable(){
public void run(){
doSomething;
th2.start();
}
});
th1.start();
th2.join();
但你极有可能不需要第二个线程都:
Thread th1 = new Thread(new Runnable(){
public void run(){
doSomething;
doSomething2;
}
});
th1.start();
th1.join();
0
如果你在一个线程等待另一个线程来完成,有几个选项。
一种是使用的CountDownLatch,
某处普通股闩 CountdownLatch闩=新CountdownLatch(1);
线程1,
doSomething();
countdownLatch.countdown();
线程2,
countdownLatch.await();
doSomethingElse();
倒计时闩锁只能虽然使用一次。
java.util.concurrent有一堆其他类可以解决您的问题。 LinkedBlockingQueue,CyclicBarrier,Exchanger可能会有用。不知道更多细节,很难多说。
并且当评论和其他答案指出,如果可以的话,完全避免多个线程。
相关问题
- 1. WaitHandle.WaitAny允许线程按顺序输入
- 2. 如何在SQL Server中以预定义的顺序获取行?
- 3. java线程如何排序线程的执行顺序
- 4. boost ::线程执行顺序
- 5. 线程顺序执行中的问题
- 6. Java中的线程执行顺序
- 7. 如何在Android中执行两个线程时运行第三个线程
- 8. Python自定义异常类应允许在程序执行后继续执行
- 9. Android允许仅对预定义活动/包进行调用
- 10. 允许使用execvp执行程序
- 11. 线程执行顺序的Java
- 12. 如何在火炬中以预定义顺序切片张量?
- 13. 只允许两个线程在一个函数上运行
- 14. C++线程池中的线程执行顺序
- 15. 如何确保多线程编程的执行顺序?
- 16. 如何定义F#中的执行顺序?
- 17. 线程同步执行操作顺序
- 18. 多线程代码 - 力执行顺序
- 19. 如何确定HttpModules的执行顺序?
- 20. 如何指定before_filters执行的顺序?
- 21. 程序的执行顺序
- 22. 如何在Talend中定义工作执行顺序?
- 23. 是否可以在Parallel.For中定义执行顺序?
- 24. 执行的线程(不是线程组)JMeter的顺序
- 25. 如何维护消费者线程的执行顺序
- 26. CLR(.NET)允许两个应用程序在相同的执行环境中执行吗?
- 27. 如何只允许从HTML表单传递预定义的值?
- 28. 只允许我的android应用程序执行java中的端点api
- 29. 允许PHP中的任何顺序的多个参数
- 30. 不允许后台执行。 Android O pendingintent
如果你需要连续执行处理,为什么你需要多个线程?你不能直接控制线程执行的顺序,所以第二个线程将不得不处于阻塞状态以等待第一个触发的事件。这是可行的,还是第二个线程在做其他事情,在这种情况下,你最终会投票... – forsvarir 2011-03-19 10:08:53