C# 构造新对象是否会导致内存泄漏

C# 构造新对象是否会导致内存泄漏,c#,C#,这个方法会占用我大量的内存资源吗 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 IwantMyWorkDosom

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

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次,它是否会使我的程序崩溃。

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


只有当您试图同时运行数千个线程时,才可能成为资源问题。但即便如此,通常造成瓶颈的也不是内存,而是CPU和任务调度程序(即任务将开始运行得比执行的慢)。

此循环是否会占用大量内存来重新分配资源?只有分配用于显示编译器错误的字符串。请阅读有关垃圾收集器的内容。这是我最近看到的最愚蠢的代码。。。你想用它做什么或实现什么?因为如果我不能重新启动我在使用旧myWorkerThread时停止的同一个线程,那么我决定在启动它之前重新构造它。你真的需要重新考虑代码在做什么。一切都搞砸了。