I found something like this some time back:
http://codeidol.com/java/java-concurrency/GUI-Applications/Why-are-GUIs-Single-threaded/
It has to do with the difficulty in locking the GUI components in the right order every time so you don't get thread deadlock, and it is a problem experienced from the start of GUI development at Xerox Parc and all the rest since.
These problems persist despite very bright minds grappling with them.
And so the result is the various GUIs just make it easier to schedule GUI operations on their version of the Event Dispatch Thread.
http://codeidol.com/java/java-concurrency/GUI-Applications/Why-are-GUIs-Single-threaded/
It has to do with the difficulty in locking the GUI components in the right order every time so you don't get thread deadlock, and it is a problem experienced from the start of GUI development at Xerox Parc and all the rest since.
These problems persist despite very bright minds grappling with them.
And so the result is the various GUIs just make it easier to schedule GUI operations on their version of the Event Dispatch Thread.