c# 呼叫 c++庫的一個方法Utils.Search。 這個方法內會阻塞執行緒60秒。將這個方法呼叫 放在執行緒中。怎么才能終止這個執行緒,終止后 不執行SetResult方法
th = new Thread(() =>
{
SetResult(Utils.Search(60));
});
th.IsBackground = true;
th.Start();
th.Abort();//終止執行緒
CancellationTokenSource cts = new CancellationTokenSource();
string res = "";
await Task.Run(() =>
{
timer.Start();
res = Utils.Search(60);
}, cts.Token);
if (!cts.IsCancellationRequested)
{
SetResult(res);
}
使用場景是 比如做掃碼支付(微信和支付寶),生成微信二維碼的同時 去調查詢,在這期間又點擊了支付寶二維碼,所以就需要將查詢微信的那個執行緒停止掉(想的思路是這樣。但是執行緒又不是說停就停的。不知道怎么搞了。。),有啥好的解決方法嗎
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/263592.html
標籤:C#
