SemaphoreSlim.Wait Metod

Definition

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange .

Överlagringar

Name Description
Wait(TimeSpan, CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av en TimeSpan som anger tidsgränsen, medan du observerar en CancellationToken.

Wait(Int32, CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av ett 32-bitars signerat heltal som anger tidsgränsen, samtidigt som en CancellationToken.

Wait(TimeSpan)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av a TimeSpan för att ange tidsgränsen.

Wait(Int32)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med ett 32-bitars signerat heltal som anger tidsgränsen.

Wait()

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange .

Wait(CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , medan du observerar en CancellationToken.

Wait(TimeSpan, CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av en TimeSpan som anger tidsgränsen, medan du observerar en CancellationToken.

public:
 bool Wait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool Wait(TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function Wait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean

Parametrar

timeout
TimeSpan

En TimeSpan som representerar antalet millisekunder som ska vänta, en TimeSpan som representerar -1 millisekunder att vänta på obestämd tid eller en TimeSpan som representerar 0 millisekunder för att testa väntehandtaget och returnera omedelbart.

cancellationToken
CancellationToken

Att CancellationToken observera.

Returer

true om den aktuella tråden SemaphoreSlimhar angett ; annars , false.

Undantag

cancellationToken avbröts.

timeout är ett annat negativt tal än -1, vilket representerar en oändlig timeout.

-eller-

I .NET 9 och tidigare versioner är timeout större än Int32.MaxValue.

SemaphoreSlim-instansen har tagits bort.

-eller-

Den CancellationTokenSource skapade cancellationToken har redan tagits bort.

Kommentarer

Om tidsgränsen är inställd på -1 millisekunder väntar metoden på obestämd tid.

Om tidsgränsen är inställd på noll millisekunder blockeras inte metoden. Den testar tillståndet för väntehandtaget och returnerar omedelbart.

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Om cancellationToken avbryts, eller om en tråd eller uppgift blockeras vid anrop Wait(TimeSpan, CancellationToken) och tidsgränsintervallet som anges av millisecondsTimeout upphör att gälla:

  • Tråden eller uppgiften anger inte semafor.
  • Egenskapen CurrentCount är inte decrementerad.

Om cancellationToken avbryts utlöser metoden ett OperationCanceledException undantag.

Se även

Gäller för

Wait(Int32, CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av ett 32-bitars signerat heltal som anger tidsgränsen, samtidigt som en CancellationToken.

public:
 bool Wait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool Wait(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : int * System.Threading.CancellationToken -> bool
Public Function Wait (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Boolean

Parametrar

millisecondsTimeout
Int32

Antalet millisekunder att vänta, Infinite (-1) för att vänta på obestämd tid eller noll för att testa tillståndet för väntehandtaget och returnera omedelbart.

cancellationToken
CancellationToken

Att CancellationToken observera.

Returer

true om den aktuella tråden SemaphoreSlimhar angett ; annars , false.

Undantag

cancellationToken avbröts.

millisecondsTimeout är ett annat negativt tal än -1, vilket representerar en oändlig timeout.

-eller-

millisecondsTimeout är större än Int32.MaxValue.

Instansen SemaphoreSlim har tagits bort eller så har den CancellationTokenSource som skapats cancellationToken tagits bort.

Kommentarer

Om tidsgränsen är inställd på -1 millisekunder väntar metoden på obestämd tid.

Om tidsgränsen är inställd på noll millisekunder blockeras inte metoden. Den testar tillståndet för väntehandtaget och returnerar omedelbart.

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Om cancellationToken avbryts, eller om en tråd eller uppgift blockeras vid anrop Wait(Int32, CancellationToken) och tidsgränsintervallet som anges av millisecondsTimeout upphör att gälla:

  • Tråden eller uppgiften anger inte semafor.
  • Egenskapen CurrentCount är inte decrementerad.

Om cancellationToken avbryts utlöser metoden ett OperationCanceledException undantag.

Se även

Gäller för

Wait(TimeSpan)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med hjälp av a TimeSpan för att ange tidsgränsen.

public:
 bool Wait(TimeSpan timeout);
public bool Wait(TimeSpan timeout);
member this.Wait : TimeSpan -> bool
Public Function Wait (timeout As TimeSpan) As Boolean

Parametrar

timeout
TimeSpan

En TimeSpan som representerar antalet millisekunder som ska vänta, en TimeSpan som representerar -1 millisekunder att vänta på obestämd tid eller en TimeSpan som representerar 0 millisekunder för att testa väntehandtaget och returnera omedelbart.

Returer

true om den aktuella tråden SemaphoreSlimhar angett ; annars , false.

Undantag

timeout är ett annat negativt tal än -1, vilket representerar en oändlig timeout.

-eller-

I .NET 9 och tidigare versioner är timeout större än Int32.MaxValue.

SemaphoreSlim-instansen har tagits bort.

Kommentarer

Om tidsgränsen är inställd på -1 millisekunder väntar metoden på obestämd tid.

Om tidsgränsen är inställd på noll millisekunder blockeras inte metoden. Den testar tillståndet för väntehandtaget och returnerar omedelbart.

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Om en tråd eller uppgift blockeras vid anrop Wait(TimeSpan) och tidsgränsintervallet som anges av millisecondsTimeout upphör att gälla:

  • Tråden eller uppgiften anger inte semafor.
  • Egenskapen CurrentCount är inte decrementerad.

Se även

Gäller för

Wait(Int32)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , med ett 32-bitars signerat heltal som anger tidsgränsen.

public:
 bool Wait(int millisecondsTimeout);
public bool Wait(int millisecondsTimeout);
member this.Wait : int -> bool
Public Function Wait (millisecondsTimeout As Integer) As Boolean

Parametrar

millisecondsTimeout
Int32

Antalet millisekunder att vänta, Infinite (-1) för att vänta på obestämd tid eller noll för att testa tillståndet för väntehandtaget och returnera omedelbart.

Returer

true om den aktuella tråden SemaphoreSlimhar angett ; annars , false.

Undantag

millisecondsTimeout är ett annat negativt tal än -1, vilket representerar en oändlig timeout - eller - timeout är större än Int32.MaxValue.

Kommentarer

Om tidsgränsen är inställd på -1 millisekunder väntar metoden på obestämd tid.

Om tidsgränsen är inställd på noll millisekunder blockeras inte metoden. Den testar tillståndet för väntehandtaget och returnerar omedelbart.

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Om en tråd eller uppgift blockeras vid anrop Wait(Int32) och tidsgränsintervallet som anges av millisecondsTimeout upphör att gälla:

  • Tråden eller uppgiften anger inte semafor.
  • Egenskapen CurrentCount är inte decrementerad.

Se även

Gäller för

Wait()

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange .

public:
 void Wait();
public void Wait();
member this.Wait : unit -> unit
Public Sub Wait ()

Undantag

Den aktuella instansen har redan tagits bort.

Kommentarer

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Se även

Gäller för

Wait(CancellationToken)

Blockerar den aktuella tråden tills den SemaphoreSlimkan ange , medan du observerar en CancellationToken.

public:
 void Wait(System::Threading::CancellationToken cancellationToken);
public void Wait(System.Threading.CancellationToken cancellationToken);
member this.Wait : System.Threading.CancellationToken -> unit
Public Sub Wait (cancellationToken As CancellationToken)

Parametrar

cancellationToken
CancellationToken

Den CancellationToken token som ska observeras.

Undantag

cancellationToken avbröts.

Den aktuella instansen har redan tagits bort.

-eller-

Den CancellationTokenSource skapade cancellationToken har redan tagits bort.

Kommentarer

Om en tråd eller uppgift kan ange semaforen minskar den CurrentCount egenskapen med en.

Om cancellationToken den avbryts anger inte tråden eller aktiviteten semaforen och egenskapen är inte avbruten CurrentCount . I stället utlöser metoden ett OperationCanceledException undantag.

Se även

Gäller för