while ()//從資料庫讀取用戶資訊
{
//從注冊表中讀取默認瀏覽器可執行檔案路徑
RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\");
System.Diagnostics.Process.Start("https://seo.comcuz.com/");
System.Threading.Thread.Sleep(10000);
SendKeys.Send(@"%+({F4})");
}
if (Console.ReadKey(true).Key == ConsoleKey.Enter)
{
break;
}
}
uj5u.com熱心網友回復:
需要再啟一個執行緒,才行uj5u.com熱心網友回復:
多執行緒需要怎么寫?
uj5u.com熱心網友回復:
你在外面定義一個bool keyforbreak;private bool KeyforBreak;
while ()//從資料庫讀取用戶資訊
{
//你的代碼
}
uj5u.com熱心網友回復:
剛才沒寫完private bool KeyforBreak=false;
while ()//從資料庫讀取用戶資訊
{
//你的代碼
if(KeyforBreak)
{
KeyforBreak=false;
break;
}
}
if (Console.ReadKey(true).Key == ConsoleKey.Enter)
{
KeyforBreak=true;
}
uj5u.com熱心網友回復:
不要誤匯入家,與執行緒沒半毛錢關系。Console.Readkey 方法會阻塞當前執行緒等待輸入,只要輸入了指定的字符就可以退出回圈。只是你把判斷寫在回圈體外邊了,這樣就永遠不能執行到這里。應該這樣:
while (true)
{
... ...
if (Console.ReadKey(true).Key == ConsoleKey.Enter)
{
break;
}
}
uj5u.com熱心網友回復:
你這樣也不行,執行到輸入這里不輸入就不會向下執行。
uj5u.com熱心網友回復:
多執行緒正解,一個執行緒處理原有邏輯,一個執行緒判斷鍵盤輸入uj5u.com熱心網友回復:
感覺就是執行緒的取消和暫停。https://www.cnblogs.com/zhengzc/p/10724839.html
uj5u.com熱心網友回復:
using System.Threading;
class Program
{
static void Main(string[] args)
{
Thread Thread1 = new Thread(new ThreadStart(A));
Thread1.Start();
if (Console.ReadKey(true).Key == ConsoleKey.Enter)
{
Thread1.Abort();
}
}
private static void A()
{
while (1 == 1)//從資料庫讀取用戶資訊
{
//你的代碼
Console.WriteLine("下一個\r\n");
}
}
}
uj5u.com熱心網友回復:
肯定要加一個執行緒,不然無法接收到用戶輸入。
uj5u.com熱心網友回復:
我這版,自測OK的
uj5u.com熱心網友回復:
樓主沒把問題描述清楚,是不斷地取資料進行處理,按回車鍵中止?還是取一條,然后等待回車鍵中止?如果是前者,那么需要使用執行緒處理,如果是后者,那么不需要執行緒處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/80438.html
標籤:C#
上一篇:c#在另一個表單中的tabpage1中顯示一個表單方法?
下一篇:c#ui設定
