On 07/05/2016 12:08 AM, chmike wrote:
Excuse the naive question rikki, why does the window event loop have to
be single threaded ? The question is just to expose the rationale.

Is it to avoid the synchronization overhead to access the window data ?
In this case there is indeed a lot of data. Is there another reason ?

In some applications and event types the synchronization overhead is
small compared to the benefit of executing tasks in parallel on
different cores.

It is indeed none trivial and could be an interresting phd study subject.

The window event loop doesn't have to be single threaded, but it is thread limited. Specifically it cannot be on other threads. If you attempt to work with another threads window, it is more or less undefined behavior across the board.

Even with Cocoa (OSX's way for GUI's) is considered thread-unsafe https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html
And that is far higher level then X11 or WinAPI does it.

Reply via email to