[Cuis-dev] Morphic's design

ken.dickey at whidbey.com ken.dickey at whidbey.com
Sun Aug 13 15:49:56 PDT 2023


On 2023-08-13 08:54, Szabolcs Komáromi via Cuis-dev wrote:

Juan should answer, but i'll give my $0.02

> What makes Morphic inherently not thread safe?

Multithreading in a shared memory environment.


Morphic is on one thread.  So other threads need to interact safely. 
Hence

  UISupervisor>>whenUIinSafeState:


> Why the community didn't addressed this shortcoming when the Morphic 
> framework was reachitected anyway?

Hey, deadlocks are complex to avoid.  Hence "lockless queuing" et al, 
itself a complex topic, especially with GC interaction.

A very interesting problem is that the OpenSmalltalk VM is not set up 
for multiple cores/harts and it would be nice to get there.

Some people are trying to address this by design (e.g. Zag Smalltalk), 
but it is much work and at this point largely a research topic.

I have a vague recollection of some "lockless queuing" smalltalk code 
but the bits have evaporated.

Probably a thesis topic.

$0.02,
-KenD


More information about the Cuis-dev mailing list