C# 当我调用新线程时,程序断开连接
我有一个IRC机器人,我正在尝试创建一个新线程来做一些工作,该线程的名称如下:C# 当我调用新线程时,程序断开连接,c#,.net,C#,.net,我有一个IRC机器人,我正在尝试创建一个新线程来做一些工作,该线程的名称如下: case ".showfiles": if (!oThread.IsAlive) { say("#channel", "> shared files are:"); //a class called shares is in x.cs
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
但是,这只是猜测,因为代码的上下文并不明显。我们需要查看围绕此开关的循环的代码。如果没有循环…那么…我们需要知道这一点,因为这可能是问题的一部分。