# New Ticket Created by  Graciliano M. P. 
# Please include the string:  [perl #22922]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=22922 >


There is some plan of how threading will work on Parrot?

Since Parrot use registers, like an CPU, how will work the register between the 
different threads?

Will be a real threading sytem, made by the OS? Or an threading system inside the VM?

How to share data, and objetcs?
And how about objets linkeds with native objetcs (C++), can we share?
How about share a class, and have only the main program with differences?

Beatiful things can be done, specially a fast threading system.

I think that a good way is to make an internal threading system inside the VM, like an 
OS make in our machines, and we can be able to share native functions/objetcs with 
that. And also implement threadin in OS that doesn't have this, or where is hard to 
implement. The biggest problem is with instructions, specially externals, that take 
some time to process, since this make the other thread wait to go. But some 
interruption system can be used, to can play the second thread, and go back to the 
first just after the instruction backs. Or maybe have the 2 styles, one in the OS and 
one in the VM, and will be possible to work with native threading too (in external 
libraries).

I think that put threading in the TODO list from the beggining is important, since 
this is one of the last things to do, but need a lot of changes in the structure and a 
good work. Plan how to do this from the beggining and make the structure to receive 
that in the end is important, and Parrot has everything to have a good threading 
system, since we already saw the different styles in Perl, Java, etc... and know what 
is good or not.

Regards,
GMP.


Reply via email to