3 ms·
IIRC, it was the only desktop OS at the time that used a separate OS thread per window, and each window had a asynchronous message queue which received objects
by danans 6y ago
IIRC, it was the only desktop OS at the time that used a separate OS thread per window, and each window had a asynchronous message queue which received objects of type BMessage. Programmers were admonished to quickly process the messages, or if they could not, to hand the task off to a different thread, so that the message queue was not blocked.
In contrast, other platforms at the time used 1 process per app, and would block all the apps other windows from updating while the active window was processing, unless the developer made a point of multithreading their apps UI. Some platforms blocked the entire system UI if a window froze.
Today lots of platforms use BeOS' paradigm, and it seems obvious in retrospect, but at the time, it was very novel.