C# 当我调用新线程时,程序断开连接

C# 当我调用新线程时,程序断开连接,c#,.net,C#,.net,我有一个IRC机器人,我正在尝试创建一个新线程来做一些工作,该线程的名称如下: case ".showfiles": if (!oThread.IsAlive) { say("#channel", "> shared files are:"); //a class called shares is in x.cs

我有一个IRC机器人,我正在尝试创建一个新线程来做一些工作,该线程的名称如下:

           case ".showfiles":
               if (!oThread.IsAlive)
                {
                    say("#channel", "> shared files are:");
                    //a class called shares is in x.cs
                    SHARES SHARED = new SHARES(); 
                    /called a method named begin_find
                    oThread = new Thread(new ThreadStart(SHARED.begin_find));
                    oThread.IsBackground = true;
                    oThread.Start();
                }
                break;
调用的方法只是扫描文件夹中的所有文件。
如果上面的代码没有提供足够的信息,我将发布其余的信息,但基本上只要我键入.showfiles,bot就会毫无错误地断开连接,就像它取代了父线程一样。

因为
线程
IsBackground=true
,应用程序不等待它,并在所有前台线程完成后立即终止。如果这是
Main
方法,程序可能会立即终止,从而断开您的bot


但是,这只是猜测,因为代码的上下文并不明显。

我们需要查看围绕此开关的循环的代码。如果没有循环…那么…我们需要知道这一点,因为这可能是问题的一部分。