Chromium Embedded Framework (CEF)  117.1.0+ga287baf+chromium-117.0.5938.62
CefWaitableEvent Class Referenceabstract

WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work. More...

#include "include/cef_waitable_event.h"

Inheritance diagram for CefWaitableEvent:
CefBaseRefCounted

Public Member Functions

virtual void Reset ()=0
 Put the event in the un-signaled state. More...
 
virtual void Signal ()=0
 Put the event in the signaled state. More...
 
virtual bool IsSignaled ()=0
 Returns true if the event is in the signaled state, else false. More...
 
virtual void Wait ()=0
 Wait indefinitely for the event to be signaled. More...
 
virtual bool TimedWait (int64_t max_ms)=0
 Wait up to |max_ms| milliseconds for the event to be signaled. More...
 
- Public Member Functions inherited from CefBaseRefCounted
virtual void AddRef () const =0
 Called to increment the reference count for the object. More...
 
virtual bool Release () const =0
 Called to decrement the reference count for the object. More...
 
virtual bool HasOneRef () const =0
 Returns true if the reference count is 1. More...
 
virtual bool HasAtLeastOneRef () const =0
 Returns true if the reference count is at least 1. More...
 

Static Public Member Functions

static CefRefPtr< CefWaitableEventCreateWaitableEvent (bool automatic_reset, bool initially_signaled)
 Create a new waitable event. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CefBaseRefCounted
virtual ~CefBaseRefCounted ()
 

Detailed Description

WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work.

This is equivalent to using a Lock+ConditionVariable to protect a simple boolean value. However, using WaitableEvent in conjunction with a Lock to wait for a more complex state change (e.g., for an item to be added to a queue) is not recommended. In that case consider using a ConditionVariable instead of a WaitableEvent. It is safe to create and/or signal a WaitableEvent from any thread. Blocking on a WaitableEvent by calling the *Wait() methods is not allowed on the browser process UI or IO threads.

Member Function Documentation

◆ CreateWaitableEvent()

static CefRefPtr<CefWaitableEvent> CefWaitableEvent::CreateWaitableEvent ( bool  automatic_reset,
bool  initially_signaled 
)
static

Create a new waitable event.

If |automatic_reset| is true then the event state is automatically reset to un-signaled after a single waiting thread has been released; otherwise, the state remains signaled until Reset() is called manually. If |initially_signaled| is true then the event will start in the signaled state.

◆ IsSignaled()

virtual bool CefWaitableEvent::IsSignaled ( )
pure virtual

Returns true if the event is in the signaled state, else false.

If the event was created with |automatic_reset| set to true then calling this method will also cause a reset.

◆ Reset()

virtual void CefWaitableEvent::Reset ( )
pure virtual

Put the event in the un-signaled state.

◆ Signal()

virtual void CefWaitableEvent::Signal ( )
pure virtual

Put the event in the signaled state.

This causes any thread blocked on Wait to be woken up.

◆ TimedWait()

virtual bool CefWaitableEvent::TimedWait ( int64_t  max_ms)
pure virtual

Wait up to |max_ms| milliseconds for the event to be signaled.

Returns true if the event was signaled. A return value of false does not necessarily mean that |max_ms| was exceeded. This method will not return until after the call to Signal() has completed. This method cannot be called on the browser process UI or IO threads.

◆ Wait()

virtual void CefWaitableEvent::Wait ( )
pure virtual

Wait indefinitely for the event to be signaled.

This method will not return until after the call to Signal() has completed. This method cannot be called on the browser process UI or IO threads.


The documentation for this class was generated from the following file: