2012-11-01 26 views
-2

我有一個IRC bot,我試圖創建一個新的線程做一些工作,線程被稱爲像這樣:程序斷開連接時,我稱之爲一個新的線程

  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機器人斷開連接沒有錯誤,幾乎就像它發生的父母線程..

+0

我們需要查看圍繞此開關的循環代碼。如果沒有循環......那麼......我們需要知道,因爲它可能是問題的一部分。 – cHao

回答

1

由於ThreadIsBackground = true,應用程序不會等待它,並在所有前臺線程完成後立即終止。如果這是Main方法,程序可能會立即終止並因此斷開您的機器人。

然而,這是一個猜測,因爲你的代碼的上下文並不明顯。

+0

似乎是這個問題:p謝謝! – ace007

相關問題