lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Sounds interesting.  What type of message passing architecture is in place?  Possibly a tagged format like what was used by BeOS?  I found that particular format very flexible/adaptable. 

Flexible enough that I have used MUSCLE (https://public.msli.com/lcs/muscle/index.html) messages (which emulate the BeOS Messages) as the basis of the message architecture used in all my multi-threaded code in the last 7 years or so. 

Just a thought.

Terry

On Tue, Aug 16, 2011 at 05:57, Stefan Reich <stefan.reich.maker.of.eye@googlemail.com> wrote:
There are no locks in Lua OS. My model also not threading in the
classical sense (different threads working on the same data - the
model that leads to the well-known problems). I once held a talk about
the evils of multithreading, so I very clearly am sure to avoid that.

The model is basically: event loops (on the sandbox level) plus
communicating processes (on the next-higher level).

Thus there is never any concurrent action on the same data. Each
strain of execution has its own data. All communication is by message
passing.

Does that satisfy your question...?

Cheers,
Stefan

On Tue, Aug 16, 2011 at 8:20 AM, Michael Richter <ttmrichter@gmail.com> wrote:
> Might you consider a concurrency model that isn't the classic threads+locks?
>
> On 16 August 2011 05:25, Stefan Reich
> <stefan.reich.maker.of.eye@googlemail.com> wrote:
>>
>> Attention, People of the Moon!
>>
>> Lua OS 0.4 is here! Looots of progress!! And this time, it runs on
>> Windows.
>>
>> New features in 0.4:
>>
>>    A unified application running the Java frontend + the Lua backend
>>    Full system hibernation (this is still experimental and quite
>> certainly buggy)
>>
>> More info & download here: http://LuaOS.net/luaos-0.4.php
>>
>> Oh, and BTW: Actual preemptive multitasking is underway. I've seen it
>> work, but there's some issues to take care of as per usual in these
>> bitchy multithreaded projects.
>>
>> Thus, threads are not yet enabled in this version. In Lua OS 0.4
>> everything's cooperative (coroutines). Implementing everything is much
>> simpler that way, and we don't really lose anything in terms of power
>> of the platform. Preemptive multitasking is more like an optimization
>> than an actual feature. Since we have protection against endless loops
>> anyway :D
>>
>> Cheers -
>> Stefan
>>
>
>
>
> --
> "Perhaps people don't believe this, but throughout all of the discussions of
> entering China our focus has really been what's best for the Chinese people.
> It's not been about our revenue or profit or whatnot."
> --Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.
>