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 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user