System.SyncObjs.TConditionVariableHelper.SleepCS
Delphi
function SleepCS(var CriticalSection: TRTLCriticalSection; dwMilliseconds: DWORD): Boolean;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.SyncObjs.pas | System.SyncObjs | TConditionVariableHelper |
Description
Définit l'état de veille sur la variable de condition, puis libère la section critique donnée.
Appelez SleepCS pour définir l'état de veille sur la variable de condition et libérer la section critique spécifiée par le paramètre CriticalSection.
Le paramètre dwMilliseconds définit l'intervalle du délai d'attente. Quand cet intervalle est écoulé, la section critique est réacquise, même si la variable de condition n'a pas été réveillée par d'autres threads.
Les variables de condition peuvent subitement se réveiller, sans effectuer un appel explicite à la méthode Wake ou WakeAll. En outre, d'autres threads peuvent s'exécuter avant que le thread qui est en veille sur la variable de condition ne soit réveillé. Par conséquent, effectuez l'appel à SleepCS à l'intérieur d'une boucle. Pour éviter les erreurs mentionnées ci-dessus, la boucle doit tester que la condition désirée devient true, même après le réveil de la variable de condition.