这是android中多线程的好习惯吗?

时间:2014-06-09 08:09:35

标签: android multithreading

我有一个运行后台的线程,在该线程实例化一个字符串值之后,还会有4个线程在该线程内运行..

这是基于Android编码的Threads中的一个好习惯吗?

String name = null;

Thread a = new Thread(new First());
Thread b = new Thread(new Enemy());
Thread c = new Thread(new Enemy());
Thread d = new Thread(new Enemy());
Thread e = new Thread(new Enemy());
a.start();

class First implements Runnable {
    public void run() {
         name = "TARZAN";
         b.start();
         c.start();
         d.start();
         e.start();
    }
}

class Enemy implements Runnable {
    public void run() {
         System.out.println(Thread.currentThread().getName() + name);
    }
}

这是一个很好的做法,从第一个线程中执行4个可运行的类吗?

1 个答案:

答案 0 :(得分:2)

线程不会在线程内运行。但是你正在做的事情并没有产生4个新线程 - 你只是在第一个线程中将它们称为方法。要将它们生成为新线程,您需要使用.start(),而不是.run()。所以,如果.run()真的是你想要的,那么我说这是一个坏主意,因为根本没有理由做出那些线程。如果你真的想使用.start()并启动一个新主题,只要你有充分的理由,我就说它很好。