-4

这种方法会占用我大量的内存资源吗?

Private MyWorkerClass worker;
Private Thread myWorkerThread;
//private Thread  myWorkerThread= new Thread(worker.doThisWork); // i cant do this, because i cant restart the thread when i construct it here.
public void IwantMyWorkDosomething(){
    myWorkerThread= new Thread(worker.doThisWork);
    myWorkerThread.start();
    myWorkerThread.stopWorking(); // stop my worker class thread running;
}
public void main(){

    this.IwantMyWorkDosomething();
    this.IwantMyWorkDosomething();
    this.IwantMyWorkDosomething();
    this.IwantMyWorkDosomething();
    this.IwantMyWorkDosomething();

}

我的代码正在运行,但我不确定如果我运行该方法 1000 次它是否会使我的程序崩溃。

4

1 回答 1

1

构造一个线程对象很便宜。此外,重建一个新的也很便宜。垃圾收集器将释放未使用的资源,您只需要确保您没有不必要地保留对已完成线程对象的引用。

只有当您尝试同时运行数千个线程时,才会出现资源问题。但即便如此,通常会导致瓶颈的不是内存,而是 CPU 和任务调度程序(即任务将开始运行比执行慢)。

于 2013-11-09T07:20:22.547 回答