multithreading - What mechanism do PIPES use to "wake up" the recipient? -


I have two questions.

On Windows, I'm familiar with pipes and how they work. However, I am curious to know which system is used to inform the receiver thread of arrival to any message.

Is there a continuous "pole and sleep" thread for the data? OS checks whether the thread is sleeping and wake it up? Or is there any other mechanism used?

Specifically, I want to create an IPC system where the message has to be given to multiple threads. I do not have to use pipes, but I need to know the most effective notification method.

Developers can decide how they want to work with pipes, even if they sleep / Make choices or they want to call blocking functions and wait until data is available.

To wake up the process about that pipe - this process is in the reading call while pausing - this is not a pipe, but the OS that charges like another OS call: this operation registers and Process / unless the data is available. When the data is available, this system completes the call.


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -