[Gambas-user] Multi threaded apps

Benoit Minisini gambas at ...1...
Sat Sep 6 12:10:34 CEST 2008


On samedi 06 septembre 2008, Doriano Blengino wrote:
> Pino Zollo ha scritto:
> > Alle 19:11, venerdì 5 settembre 2008, nando ha scritto:
> >> This thread would cease to exist when the SUB is completed.
> >> The main thread continues processing along side this one.
> >>
> >> The interpreter would have to switch running threads regularly.
> >
> > I guess that there should be many instances of the interpreter, one for
> > thread. Hope the interpreter is light enough !
> > Very nice and usefull to have !
>
> Threads share their dataspace (otherwise they are no more threads, but
> processes instead). If two or more interpreters share the same data,
> then a lot of problem arise - the whole event system breaks, because
> there is concurrent access to the same structured data which, at a
> certain point, can loose its integrity (both the data structures managed
> internally by gambas, and the user ones...). If we want threads, then we
> also have to use locks, semaphores, priorities and other difficult
> things. Nando's idea is a lot easier to put in practice: at least,
> internal data structures are safe, but still is a big task. Then, the
> user gets a lot of responsabilities... what if, while one thread uses a
> FOR EACH on a collection, another thread deletes it?.
>
> I think the easiest way is to have an "Idle event" - an event fired
> everytime there is nothing else to do. In the Idle event handler, one
> can run many background jobs. May be this is already possible using a
> timer with very short interval (zero?), but this is not the intended
> usage of timers.
>
>
> Happy coding to all,
> Doriano Blengino
>
>

Gambas interpreter was not designed to be multi-threaded at all.

What sort of background process people want to do during their application? I 
never had such a need.

Regards,

-- 
Benoit Minisini




More information about the User mailing list