Java Android中重新初始化线程对象的成本是多少
上面的代码只是一个示例。正如我们所知,一旦线程obj。完成它的任务后,我们不能再次启动它,为了重用,我们需要重新初始化线程obj。举例来说Java Android中重新初始化线程对象的成本是多少,java,android,multithreading,Java,Android,Multithreading,上面的代码只是一个示例。正如我们所知,一旦线程obj。完成它的任务后,我们不能再次启动它,为了重用,我们需要重新初始化线程obj。举例来说 myThread被重新初始化了3次,所以如果我继续增加重新初始化的次数,内存成本会更高吗? 如果是,那么如何处理呢?免责声明:我不知道Android,但是 您的活动多久创建一次新线程?这些线能穿多久?创建线程有些昂贵。如果您不经常创建它们,则不会造成伤害,但是如果您正在创建许多短命线程,那么考虑使用线程池(例如, java .UTI.Orth.TycRePo
myThread
被重新初始化了3次,所以如果我继续增加重新初始化的次数,内存成本会更高吗?
如果是,那么如何处理呢?免责声明:我不知道Android,但是
您的活动多久创建一次新线程?这些线能穿多久?创建线程有些昂贵。如果您不经常创建它们,则不会造成伤害,但是如果您正在创建许多短命线程,那么考虑使用线程池(例如,
thread
对象就像任何其他对象一样:当程序中没有引用它的变量时,它将被回收。
public class Test extends Activity{
private MyThread myThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myThread = new MyThread();
myThread.start();
// some code
if(!myThread.isAlive())
{
myThread = new MyThread();
myThread.start();
}
// some code
if(!myThread.isAlive())
{
myThread = new MyThread();
myThread.start();
}
}
private class MyThread extends Thread
{
@Override
public void run() {
//some code
super.run();
}
}
}