Multy-core CPUs

Jason Johnson jason.johnson.081 at gmail.com
Fri Oct 26 04:34:22 UTC 2007


On 10/25/07, Peter William Lount <peter at smalltalk.org> wrote:
>
>  When a message is sitting in an inbound queue on a process waiting for that
> process to do get to it it is in essence blocked until it gets processed. If
> the process is only processing one inbound message at once it is possible
> for a dead lock to occur when multiple processes are in a similar situation
> with each other. Both processes waiting for the message that would let them
> continue which is sitting blocked on the other's queue. That's all. Classic
> deadlock case.

But imo this is a design issue.  From my experience so far in Erlang
programming, processes have a lot of similarities with objects in how
you define them.  If you find yourself in a situation as you describe
here, then you probably have two or more processes hiding in a single
process.  So the solution, as in Smalltalk when you have a class that
should be 2 or more, is to refactor to the correct amount of
processes.



More information about the Squeak-dev mailing list