Tag: runnable

如何从postDelayed添加的处理程序对象中删除runnable?

我有一个“打开”animation,并使用Handler.postDelayed(Runnable, delay)在短暂的延迟后触发“closures”animation。 但是,在打开和closures之间的时间内,可能还有另一个点击触发的animation。 我的问题是,我将如何取消处理程序中的“closures”animation?

命名ExecutorService的线程和线程池

比方说,我有一个使用Executor框架的应用程序 Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } 当我在debugging器中运行这个应用程序时,将使用以下(默认)名称创build一个线程: Thread[pool-1-thread-1] 。 正如你所看到的,这不是非常有用的,据我所知, Executor框架不提供一个简单的方法来命名创build的线程或线程池。 那么,如何为线程/线程池提供名称呢? 比如Thread[FooPool-FooThread] 。

“实现可运行”与“扩展线程”

从我用Java中的线程花费的时间来看,我发现了这两种编写线程的方法: 使用implements Runnable : public class MyRunnable implements Runnable { public void run() { //Code } } //Started with a "new Thread(new MyRunnable()).start()" call 或者,用extends Thread : public class MyThread extends Thread { public MyThread() { super("MyThread"); } public void run() { //Code } } //Started with a "new MyThread().start()" call 这两个代码块有没有显着的区别?