第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么如果我嘗試使用 CancellationToken.Cancel() 停止任務(wù)

為什么如果我嘗試使用 CancellationToken.Cancel() 停止任務(wù)

C#
寶慕林4294392 2021-09-19 16:51:17
我正在嘗試按照我的 MSDN 提供的示例在 C# 中實現(xiàn)任務(wù)取消。我有一個帶有圖形的 Windows 窗體應(yīng)用程序,顯示來自外部設(shè)備的數(shù)據(jù)和一個開始/停止按鈕。這或多或少是按鈕內(nèi)的代碼:if (drawGraph_task == null){    cts = new System.Threading.CancellationTokenSource();    token = cts.Token;    drawGraph_task = new Task(() =>     {        this.Invoke(new InvokeDelegate(this.myChart.Series[0].Points.Clear));        while (true)        {            // get x and y from device using external lib            this.Invoke(new addPointXYDelegate(this.myChart.Series[0].Points.AddXY), new object[] { x, y });            this.Invoke(new InvokeDelegate(this.chart_pressure.Update)); // update graph            if (token.IsCancellationRequested)            {                return;            }        }    }, token);    this.button_main_start.Text = "Stop";    drawGraph_task.Start();                }else{    cts.Cancel();    try    {        drawGraph_task.Wait();    }    catch (AggregateException ae)    {        // do nothing    }    finally    {        cts.Dispose();        drawGraph_task.Dispose();        drawGraph_task = null;        this.button_main_start.Text = "Restart";    }}為什么代碼仍然停留在 drawGraph_task.Wait() 調(diào)用中?我試圖在任務(wù)中使用 token.throwIfCancellationRequested() ,但有時我有同樣的效果,有時我的捕獲沒有捕獲異常。我究竟做錯了什么?為完整起見,x 和 y 的計算涉及:MathNet 插值庫調(diào)用內(nèi)部制作的庫進行特定于協(xié)議的通信以等待事件(它總是被啟動,所以這不是問題的根源)
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 270 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號