[過去ログ] ふらっと C#,C♯,C#(初心者用) Part153 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
906
(1): デフォルトの名無しさん (ワッチョイ 6ada-Xc5L) [sage] 2022/02/02(水) 10:25:26.24 ID:qrF7Vqa00(1) AAS
static bool _stopTest;

public void StartTest()
{
 _stopTest = false;
 Test();
}

public void StopTest()
{
 _stopTest = true;
}

static async void Test()
{
 while( !_stopTest )
 {
  SendKeys.Send("Break");
  await Task.Delay(10000);
 }
}

止めたいところでStopTestを呼ぶ
912: デフォルトの名無しさん (アウアウウー Sa21-MO11) [] 2022/02/02(水) 15:06:00.81 ID:MolDdSgsa(2/2) AAS
>>907
907(1): デフォルトの名無しさん (ワッチョイ a62d-Y4FF) [sage] 2022/02/02(水) 11:00:41.80 ID:tkuApL0q0(1) AAS
CancellationToken使おう

private CancellationTokenSource cts = new CancellationTokenSource();
private Task task;

public void Start()
{
this.cts = new CancellationTokenSource();
this.task = Test( cts.Token );
}

public void Stop()
{
this.cts.Cancel();
this.task.Wait(); // 必要があれば
}

static async Task Test( CancellationToken ct )
{
while ( ! ct.IsCancellationRequested )
{
SendKeys.Send( "Break" );
try
{
await Task.Delay( 10000, ct );
}
catch ( TaskCanceledException )
{
}
}
}
だと、クリティカルタスクの最中に例外が起きたら壊れそうだなw
>>906は、Pulseが抜けてる
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.052s