在C#中,輪詢通常使用while
循環(huán)來(lái)實(shí)現(xiàn),可以在循環(huán)體內(nèi)添加一些條件判斷來(lái)中斷輪詢操作。一種常見的中斷方式是使用布爾類型的變量來(lái)控制循環(huán)是否繼續(xù)執(zhí)行。例如:
bool shouldContinue = true;
while (shouldContinue)
{
// 輪詢操作
// 中斷條件判斷
if (someCondition)
{
shouldContinue = false;
}
}
除了使用布爾變量控制循環(huán)外,還可以使用break
語(yǔ)句來(lái)立即中斷循環(huán)的執(zhí)行。例如:
while (true)
{
// 輪詢操作
// 中斷條件判斷
if (someCondition)
{
break;
}
}
另外,在多線程環(huán)境下,可以使用CancellationToken
來(lái)實(shí)現(xiàn)輪詢操作的中斷。CancellationToken
是一個(gè)線程安全的對(duì)象,可以在另一個(gè)線程中調(diào)用Cancel
方法來(lái)請(qǐng)求取消操作。在輪詢操作中可以通過(guò)檢查CancellationToken.IsCancellationRequested
屬性來(lái)判斷是否應(yīng)該中斷。
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
CancellationToken cancellationToken = cancellationTokenSource.Token;
while (!cancellationToken.IsCancellationRequested)
{
// 輪詢操作
}
// 在其他地方調(diào)用 cancellationTokenSource.Cancel() 來(lái)中斷輪詢操作
通過(guò)以上方法,可以在C#中實(shí)現(xiàn)輪詢操作的中斷功能。