# 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.