是否可以将多个Runnable对象排队等待在一个线程中执行?如何在不使用ExecutorService的情况下完成它?如果其中一个Runnable对象抛出未经检查的异常,它会停止执行线程会发生什么?
答案 0 :(得分:1)
是否可以将多个Runnable对象排队等待在一个线程中执行?
使用ExecutorService。
如何在不使用ExecutorService的情况下完成任务?
使用BlockingQUeue和Thread。
如果其中一个Runnable对象抛出未经检查的异常,它会停止执行线程会发生什么?
这取决于你,因为你必须亲自写下来。
对于ExecutorService,Throwable thrown被添加到Future对象中供您检查。很容易忘记这样做,在这种情况下你需要为runnable添加一个try / catch块。
答案 1 :(得分:1)
是否有特定原因不使用ExecutorService?它提供了一个在一个线程中工作的实现:Executors.newSingleThreadExecutor()
答案 2 :(得分:0)
有可能。 打开一个侦听队列的线程,每次看到一个项目,它就会deques并运行它。 您可以将任务的执行包装在try catch块中,从而允许工作线程继续工作,即使其中一个任务引发了异常。
话虽如此 - 以上就是ThreadPoolExecuter的功能,为什么你不想使用它? (作业?)