Java 如何像使用线程切换一样工作
我有一个复选框。若我检查了它,那个么我需要将数据上传到服务器。我已经在Thread类中编写了这个上传逻辑。如果我取消选中复选框,我想取消上传等等。问题是,在尝试使用相同的线程时,如果在某些情况下,我将线程状态设置为TERMINATEDJava 如何像使用线程切换一样工作,java,android,multithreading,Java,Android,Multithreading,我有一个复选框。若我检查了它,那个么我需要将数据上传到服务器。我已经在Thread类中编写了这个上传逻辑。如果我取消选中复选框,我想取消上传等等。问题是,在尝试使用相同的线程时,如果在某些情况下,我将线程状态设置为TERMINATED(this.getState()==thread.state.TERMINATED)。在这种情况下我需要做什么?如果线程状态是新的,那么我将调用start()方法。但在这种情况下,我需要做什么 简单回答:不要重用线程。线程池在大型服务器端系统上有其优势,但在移动电话
(this.getState()==thread.state.TERMINATED)
。在这种情况下我需要做什么?如果线程状态是新的,那么我将调用start()
方法。但在这种情况下,我需要做什么 简单回答:不要重用线程。线程池在大型服务器端系统上有其优势,但在移动电话上没有优势
终止的线程已失效,不再需要您执行任何操作用户可以尝试使用
异步任务
而不是线程
这意味着线程已完成其工作,因此无法再使用。您需要创建一个新线程。如果您需要在GUI和另一个线程之间进行交互,那么可能值得考虑使用SwingWorkers而不是线程。SwingWorkers可以这样取消:@assylias,Swing在Android中没有任何意义。正如@Caner所说的,使用AsyncTask代替。它没有那么复杂。我经常在Android中使用线程。我还没见过线程最糟糕的事情。。。