Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1...

27
Java Fair Threads Fr´ ed´ eric Boussinot To cite this version: Fr´ ed´ eric Boussinot. Java Fair Threads. RR-4139, INRIA. 2001. <inria-00072487> HAL Id: inria-00072487 https://hal.inria.fr/inria-00072487 Submitted on 24 May 2006 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ ee au d´ epˆ ot et ` a la diffusion de documents scientifiques de niveau recherche, publi´ es ou non, ´ emanant des ´ etablissements d’enseignement et de recherche fran¸cais ou ´ etrangers, des laboratoires publics ou priv´ es.

Transcript of Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1...

Page 1: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

Java Fair Threads

Frederic Boussinot

To cite this version:

Frederic Boussinot. Java Fair Threads. RR-4139, INRIA. 2001. <inria-00072487>

HAL Id: inria-00072487

https://hal.inria.fr/inria-00072487

Submitted on 24 May 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinee au depot et a la diffusion de documentsscientifiques de niveau recherche, publies ou non,emanant des etablissements d’enseignement et derecherche francais ou etrangers, des laboratoirespublics ou prives.

Page 2: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

ISS

N 0

249-

6399

ISR

N IN

RIA

/RR

--41

39--

FR

+E

NG

ap por t de r ech er ch e

THÈME 1

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Java Fair Threads

Frédéric Boussinot

N° 4139

Février 2001

Page 3: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads
Page 4: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

Unité de recherche INRIA Sophia Antipolis2004, route des Lucioles, B.P. 93, 06902 Sophia Antipolis Cedex (France)

Téléphone : 04 92 38 77 77 - International : +33 4 92 38 77 77 — Fax : 04 92 38 77 65 - International : +33 4 92 38 77 65

�������������� �������������

������� �!�#"%$'&�(*) +�+#"%, (.-0/

13254�68789�:<;�=�>?7�@BADC�7FEG>?HD>IEJ4�687�>KMLJNPOI7�E�QSRT68N!>J@

;�@BUVUWN!LXE�YD7ZLJ7�[\2V7�LJ[\257�].^�_59#`Bab:dc�=�e�LJRf7�L�gPh!hV9G:igP`jU5@Pk!7�>

l�m�n�o�p0qVrBoBs c5@BRTL�E?25L?7#@BYV>Z@PLJ7j[�NtNBU.7�L\@0E?RfeB7E?2VLJ7�@!YV>uL?AV]bvtHw@yx%@BRTLz>J[\2V7�YDA5{T7�Lu|�2VR}[\2'k!RTe!7�>GE?2V7�67#~�A5@P{D@B[�[F7#>?>�E?N�EJ2V7�UVLJNt[�7�>J>XN!L���c5@PRfL�E?2VLJ7�@!YV>M[�@B]�[�NB686A5]VRf[�@0EJ7�A5>?Rf]VkZvVL?N�@BYV[�@B>XE�7�eB7�]�E\>��B@B]5Y�@PLJ7x�A5{T{fH�U.NBL?EJ@BvV{f7�@B>3EJ2V7�RfLG>?7�6�@P]�E?R}[�>GYDNt7�>�]VNBEuYD7�UW7�]5YV>�N!]�E?2V7�7�CD7�[FAVE?Rf]Vk�UV{}@0EXx�N!L?6���c�Rf]V7[�NB]�E?LJNB{N0e!7�L�x%@PRfL�EJ2VL?7#@BYV>y7FCD7�[�ADE?RfNB]�R}>�UWN�>?>?RfvV{T7w@B{T{fN0|�Rf]Vk�E?2V7wU5L?N!kBL\@P6868RT]Vk�NPxz>?UW7#[FRT�W[SA5>?7�L?��YV7F�5]V7#Y>J[\2V7#YDAV{fRT]Vk�>XE?L\@0EJ7�kBRf7�>���132VR}>�U5@BUW7�L�UVL?7#>X7�]�EJ>�x%@PRfL�EJ2VL?7#@BYV>3Rf]�E?257�[FNB]�EJ7FCtE�NPx�E?2V7�!@�e0@�{f@B]VkBA5@BkB7!�@B]5Y�YD7�>J[FLJRfvW7#>3E?2V7j�GKM��E?N�AW>X7zEJ2V7�6��3��Rf]V��|�RTE?2SLJ7�@![�EJRTe!7�U5L?N!kBL\@P6868RT]VkW�D|�2VR}[\2�R}>G@PE�E?2V7v5@B>?Rf>NBx�EJ2V7Zx%@PRfL3E?2VLJ7�@!YV>3UVLJNBU.N!>J@P{��tRf>�@B{f>?N8[FNB]W>XR}YD7�LJ7�Y���S���*�J�� p0��nBs�� N!]5[FA5L?LJ7�]5[�HB�V�!@�e�@5�V132VLJ7�@BY5>��D;�7#@B[�EJRTe!7zKML?N!kBL\@P6868RT]5k

 �¡�¢ £¥¤�¦¥§�¨�¨P©�ª%£�«fª%©�¬®­0ª�¯\°�±I²´³¶µD²I·¸²I±I©�¬º¹�»M¼½M¾.¿zÀ*Á�ÂÿZÄ ³¶Å�Æ�¹�Å Ä

Page 5: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

�����u� ���F� ������������

��� n���� � s ��7�>�� �������������� �>XN!]!E�YD7�>jE?25L?7#@BYV>j[FNtNBU.=�L\@0EJR x%>j7FCD=�[�ADE?=#>UW@PLA5]®NBL\YDN!]V]5@P]W[F7�A5L~�AVR�{T7�AVLYDR}>XE?LJRTvVA57y{T7�UVL?ND[�7�>J>X7�AVLz=�~�AVRTEJ@BvV{T7�687�]�E�����7#>zx%@PRfLzEJ2VL?7#@BYV>�UW7�AVeB7�]!E�[FNB686jAV]VR}~!A57�L�7�]AVE?Rf{TR}>?@B]�E�YD7#>�=�e!=�]V7�687�]�EJ>�YDR��.A5>?=�>��'�´{}>>?NB]�E8[FNB68UV{f4FEJ7�687�]�E�UWN!LXE\@PvV{f7�[�@BL{f7�AVL8>?=�6�@P]�E?R}~�AV7y]V7YV=�U.7�]5Y�U5@!>�YV7z{f@�UV{}@0EJ7F��x�NBLJ6�7ZY�� 7FCD=�[�ADE?RfNB]�����7�>�x%@BRTL3EJ2VL?7#@BYV>3U.7�A5eB7�]�E �FEJL?7z[�NB]�E?LJNB{f=�>��5]V7�687�]�E��[�7~�AVR�UW7�L?687FE"!y{#� AVE?Rf{TR}>?@PE?7�AVLuYD7�[FNDYD7�Lu>?7�>�U5L?N!UVL?7#>G>XE?L\@0EJ=�kBRf7�>GY�� 7�CD=�[FAVE?RfNB]�� � 7E?7�C�EJ7UVLJ=�>?7�]�EJ7{f7�>�x%@PRfL EJ2VLJ7�@BY5> YV@B]5>�{f7u[�NB]�E?7�C�EJ7GYDAy{}@P]5k!@Pk!7G�B@�e0@z7�E�YD=#[FLJR E�{$� �GKM� UWN!AVL�{f7�> ADE?Rf{fRf>?7�L#� �´{WUVLJ=�>?7�]�EJ7=�k!@B{T7�6�7�]�E�{f7�>�{fRf7�]5>�@�e!7�[u{f@8UVLJNBk!LJ@B6868@PE?RfNB]yLJ=�@![�EJRTe!7�YDN!]�E3Rf{}>�>XN!]�E3R}>J>XA5>��% � o#n � r�& � n�s K @PL\@P{f{T=�{TR}>?6�7!� � NB]5[�AVL?LJ7�]W[F7B�V�!@�e0@V�D132VLJ7�@BY5>��VKMLJNBk!LJ@B6868@PE?RfNB]yLJ=�@![�EJRTe!7

Page 6: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � `

� ��� �� ������ � �

� N!]�E?L\@PLJHSE?N�>IE\@P]5YV@BLJY >?7�~�AV7�]�E?R}@P{ U5L?N!kBL\@P6868RT]Vk�|�2V7�L?7yE?2V7�UVLJNt[�7�>J>XN!Lz7FCD7�[�ADE?7#>j@'>XRf]VkB{f7yUVLJNP�k!LJ@B6���Rf]�[FNB]W[FAVLJL?7�]�E�UVLJNBk!LJ@B686�Rf]VkE?2V7zUVLJND[F7#>?>?NBL�Rf>�@8>?25@PLJ7�Y�L?7#>XN!AVL\[F7G|�25Rf[\2�Rf>�YVRf>?U5@0E\[\2V7�Y�E?N>?7�e!7�L\@P{�UVLJNBkBL\@P6�>���13257jEJ7�LJ6��?[FN!]5[FAVLJLJ7�]�E��R}>�@PU5UVL?N!UVLJRf@PE?7v.7�[�@PA5>?78UVLJNBkBL\@P6�>�[�@B]bv.7y>X7�7�] @B>[�NB]5[�AVLJL?7�]!EJ{THy[�NB68U.7FE?Rf]Vk�E?N�k�@PRf]�@![�[�7�>J> EJN�E?2V7zUVLJND[F7#>?>?NBL#�tRT]�NBL\YD7�L�EJN87FCD7�[�ADE?7!�

132VLJ7�@!YV>�@BL?7�@zvW@B>?Rf[�687#@P]8x�NBL�[FNB]W[FAVLJL?7�]�E�UVL?N!kBL\@P6868RT]5k5�P@P]WY�@PLJ7�|�RfYV7�{fHjA5>?7�Y8Rf]�NBU.7�L\@0EJRT]5k>?HD>IEJ7�6�>���132V7�H�@PLJ7�@P{}>XN�Rf]�E?LJNDYDA5[F7#Y8RT]yE?2V7Z�B@�e0@Z{}@P]Vk!A5@Pk!7�@B>M�WLJ>XE�[F{}@B>J>�U5L?Rf68R EJRTe!7B�M��E�{}@P]Vk!A5@Pk!7{f7�e!7�{���EJ2VLJ7�@BY5>*N �*7�L�@3|3@�H�E?N�>XE?LJA5[FE?AVLJ7MUVLJNBkBL\@P6�>.vtHuYD7#[FN!6�U.N!>?Rf]Vk�>XHD>XE?7�6�>ÃRf]�>?7�eB7�LJ@B{0[FNB]W[FAVLJL?7�]�E[�NB68U.NB]V7�]!E\>��DRf]�E?2VR}>3LJ7�>?UW7#[�E��VE?2VLJ7�@!YV>�@PLJ7uAW>X7�x�AV{Ãx�NBL�68NDYDAV{}@PLJRTEIHB�

�GN0|�7�eB7�L#�#E?2VLJ7�@!YV> @PLJ7 k!7�]V7�LJ@B{T{fHz[FNB]W>XR}YD7�LJ7�Y@B>�{TN0|3��{f7�eB7�{!U5L?Rf68R EJRTe!7�>�{T7#@BYDRf]VkGE?NZN0eB7�LX�´[FN!6�U5{T7�CU5L?N!kBL\@P6868RT]VkW��Q�N!L?7�N0eB7�L#�#E?2VLJ7�@!YV>Mk!7�]V7�LJ@B{T{fH�25@�e!7�{fNtN!>?7�>X7�68@B]�E?R}[�>��BRf]�U5@PL?E?R}[FAV{}@PL�YV7�U.7�]5YDRf]VkzN!]EJ2V7�AV]WYD7�LJ{THtRf]Vky7�Ct7#[FADEJRT]5kyUV{}@0EXx�N!L?6��5E?Nyk!RTe!7ZE?2V7�6 @yUVL?7#[FR}>X7�>?7�6�@B]!EJRf[�>�R}>G@yYDR��y[FAV{TEGE\@B>?�*�W@P]WYEJ2VR}>�Rf>�@8[�{T7#@PLJ{THyR}YD7�]!EJR �W7�Y�UVLJNBvV{f7�6 EJN8kB7FE�U.NBL?EJ@BvV{T7z[�NtYV7B�

132VR}>8U5@BUW7�L�UVL?N!UWN�>X7#>8@']V7�| x�L\@P687�|�NBLJ� |�R EJ2 [F{f7�@PL�@B]5Y >?Rf6�U5{T7S>?7�6�@P]�E?R}[�>���@B]5Y |�R EJ2 @B]7��y[FRf7�]�E�RT68UV{f7�687�]!E\@0EJRTN!]����´] RTE���E?2VLJ7�@!YV>�@BL?7�[�@B{T{f7�Y��Ix%@PRfL���� v5@B>?R}[�@P{f{fH'@�x%@PRfLzE?25L?7#@BY�Rf>@S[FNtNBUD�7�LJ@PE?RfeB7�E?25L?7#@BYb7FCD7�[�ADE?7#YbRf] @S[FN!]�E?7FCtEzRf] |�2VRf[\2 @B{T{MEJ2VLJ7�@BY5>z@P{f|�@�HD>�25@�eB787#~!AW@P{ @![�[F7#>?>�EJN�E?2V7U5L?ND[F7#>?>?NBL#��c5@BRTL�E?2VLJ7�@!YV>�25@�e!7�@�YD7FEJ7�LJ6�Rf]VR}>IEJRf[z>?7�6�@B]!EJRf[�>��5L?7�{THtRf]Vk�NB]�UVLJ7�etRfNBA5>�|�NBLJ�yv.7�{fNB]Vk!RT]5kEJN�E?2V7�>?NP�´[�@B{T{f7�Y�L?7#@B[�EJRTe!7�@BUVUVLJN!@![\2��

132V7�>XE?LJA5[�EJAVL?7�NPx�EJ2V7�[email protected]�L�Rf>8@!>�x�N!{T{fN0|�>��y>?7�[FE?RfNB] gwRT]�EJL?NDYDA5[�7�>E?2VLJ7�@!YV>�@P]5Y >?[\2V7#YDAV{fRT]5k>XE?L\@0EJ7�k!RT7#>��BE?2V7Gx%@PRfL�E?25L?7#@BY8x�L\@P687�|�NBLJ�R}> YV7F�5]V7#Y�Rf]�>X7#[�EJRTN!]�` �t>X7#[�EJRTN!]�_j[FN!]�EJ@PRf]5>�E?2V7Z�B@�e0@z�GK��x�N!L�A5>?RT]5k�x%@PRfL�EJ2VL?7#@BYV>!�VEJ2VLJ7�7�7�CD@B68UV{T7#>�@PLJ7zkBRfeB7�]�RT]'>?7�[FE?RfNB]#"$�W�5]5@B{T{fHB�W{TRf]V�D>�|�RTE?2wE?2V7�LJ7�@![�EJRTe!7@BUVUVLJN!@![\2��!|�25Rf[\2�R}>�@0E�E?257zv5@B>?Rf>3NBx�EJ2V7Zx%@PRfL3E?2VLJ7�@!Y�U5L?N!UWN�>?@B{¥�D@PLJ7z[FN!]5>XR}YD7�L?7#YyRf]�>?7�[FE?RfNB]�%V�

& ������������

� E?2VLJ7�@!Y�R}>�v5@!>XR}[�@B{T{fH�@8U5L?N!kBL\@P6��tE?25@PEGR}>�@�{fRf>XE�NPxMRf]5>IEJL?AW[�E?RfNB]W>�@P]5YS@8U5L?N!kBL\@P6 [FN!AV]�E?7�L�|�2VR}[\2Rf]5YDR}[�@PE?7#>�E?2V7�[�AVL?LJ7�]�E�Rf]5>IEJL?AW[�E?RfNB]�E?N8v.7z7FCD7�[�ADE?7#Y�5@!>�>X2VN0|�]�NB]�c�RTk!AVLJ7�9!�

programcounter

instructions

c�RfkBAVLJ789'�M132VLJ7�@!Y

132VLJ7�@!YV> @PLJ7�>?25@PLJRf]Vk�EJ2V7�>?@B6�73@BY5YDL?7#>?>�>?U5@B[�7�@P]WYj@BL?7�7FCD7�[�ADE?7#Y�Rf]EJAVL?]��PNB]V73@0x¶EJ7�L�E?257�NBE?2V7�L��13257�U5L?ND[F7#>?>?NBL�R}>�@B{T{fND[�@PE?7�YE?NuE?25L?7#@BYV> vtH�@Z>?[\257�YDAV{f7�L |�2VR}[\28>?[\2V7#YDAV{f7�>�E?25L?7#@BYj7FCD7�[�ADE?RfNB]5>���1325Rf>k!RTe!7�>�E?257�YDLJ@�|�Rf]Vk�NPxMc�RTk!AVL?7�gV�

¹�¹ °)( *,+.-�/

Page 7: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

_ ��������� � � ��� �

...

scheduler

sharedaddress space

c�RTk!AVL?7�g ���D[\2V7�YVAV{T7�L

�� o ��� o�� ��� o#r�� � n���� 2V7�] E?2V7�UVLJND[F7#>?>?NBLjRf>�LJ7�{f7�@B>?7�Y v�H @'E?25L?7#@BYÃ��RTEJ>�7�Ct7#[FADEJRTN!] [�NB]�E?7�C�E2W@B>E?N'v.7�>?@�e!7�Y Rf] NBL\YD7�LE?N�vW7�@PvV{f7yEJNbLJ7�>?AV687�EJ2V7�EJ2VLJ7�@BY {f@PE?7�L#� 132VRf>jR}>j[�@P{f{T7#Y @'[�NB]�E?7�C�E>?|�RTEJ[\2�� � NB]�E?7�C�E>?|�RTEJ[\2V7#>Zv5@B>?Rf[�@P{f{TH'6�7#@P]5>zE?Nw>J@�eB7�E?2V7�UVL?N!kBL\@P6 [�NBAV]�E?7�L@P]WY'EJ2V7�7FCD7#[FADEJRTN!]>XEJ@![\� @B>J>XND[�Rf@PE?7�Y®|�R EJ2 E?2V7�7FCD7#[FADEJRT]Vk�EJ2VL?7#@BYÃ��E?257�] E?N LJ7�>XE?NBLJ7yEJ2V7w[FN!]�E?7FCtE�NPxZ@�]V7�|�E?2VLJ7�@!Y� A5>?A5@P{f{TH!�.>?NB687�NBE?2V7�LJ>�R EJ7�6�>G6jA5>XE�@P{}>?N�vW7�>?@�e!7�Y��0L?7#>IEJNBLJ7�Y �tx�N!Lu>?RT68UV{fRf[�R EIH!�W|�7YDN�]VNPE�[FNB]W>XR}YD7�LEJ2V7�>?7��F�

��p � qV��n"!�n$#Zp � r � n#n � n�� �G>MN!UVUWN�>XRTE?7�E?NZEJ2VLJ7�@BY5>��0UVLJND[F7#>?>?7�>�25@�e!7 EJ2V7�RfLMN0|�]jU5L?Rfe0@0E?73687�68N!L?H>?U5@![F7B�z132VR}>�RT68UV{fRf7�>�E?2W@0Ez[FNB686jAV]VR}[�@0EJRTN!]wv.7FEI|�7�7�]bUVLJNt[�7�>J>X7#>GR}>�68NBLJ7j[FN!68UV{T7�C�E?25@B]�[�NB686AD�]5Rf[�@0E?RfNB]®vW7�EI|�7�7�] EJ2VLJ7�@BY5>�� |�2VR}[\2 [�@P]®YDRfLJ7�[�EJ{TH AW>X7�>X25@BL?7#Y 687�68NBLJHB� 132VR}>j@B{f>?N'Rf68UV{fRT7#>EJ25@0E[�NB]�E?7�CtE>X|�RTEJ[\2V7#>�@PLJ7�>XRf68UV{f7�Lzx�N!LzE?2VLJ7�@!YV>���>?RT]5[�78E?2V7�L?7�Rf>z]5NS]V7�7#Y�E?Nw>J@�eB7�E?2V7�@BYVYDLJ7�>J>z>?U5@B[�7|�25Rf[\2w@B{T|3@�HD>3L?7�68@BRT]W>3E?2V7�>?@B687B�&%�7�[�@BA5>?7ZE?2VLJ7�@!YV>�[FN!]�E?7FCtEu>?|�RTEJ[\2V7#>�]V7�7�Y�{f7�>J>G[FN!68UVADE?Rf]VkyLJ7F�>?NBA5LJ[�7ZE?25@B]wUVLJNt[�7�>J>�[FN!]�E?7FCtEu>?|�RTEJ[\2V7#>��WE?2VLJ7�@!YV>�@BL?7>?NB687�E?Rf6�7#>G[�@P{f{T7#Y �I{fRTk!2�EI|�7�RTk!2!E�U5L?ND[F7#>?>?7�>����'GNPEJ73@B{f>?N�E?25@PE�{T7#>?> 687�6�N!L?Hj>X|3@PU5>M@BL?7�]V7�7�YD7#YjAW>XRf]Vk�E?2VLJ7�@!YV>��0E?25@B]8A5>XRf]VkzUVLJND[F7#>?>?7�>��P@B>�EJ2VL?7#@BYV>YVN�]5NPE�25@�e!7GEJ2V7�RfL�N0|�]�U5L?Rfe0@0E?7z687�6�N!L?H!�

(S�� � � o � p � �)�*� n �+� 132V7�|3@�HSEJ2V7y>?[\257�YDAV{f7�L�[\25N�N�>X7#>uE?2V7�EJ2VLJ7�@BY'E?NSv.7�7FCD7#[FADEJ7�Y�Rf>ZAW>XA5@B{T{fH{f7Fx¶E�AV]5>?UW7#[FRT�57�Y �!Rf]�E?25Rf> |�@�H!�BRf6�U5{T7�6�7�]�EJ@0EJRTN!]5> @BL?7�{f7�>J> [�NB]5>XE?L\@PRf]V7#Y�@B]5YÃ�BE?2tA5>���[�@P]�v.7G68NBLJ7�7Fx¶��.[FRf7�]�E�� ��N0|�7�e!7�L#�0]VNB]5YV7FE?7�L?68Rf]VR}>X6 68@�HjND[�[FA5LJ>!��|�RTE?28E?257�>?@B6�7�Rf]VUVAVE��t>X7�eB7�L\@P{DYDR}>XE?Rf]5[�E N!ADE?U5ADEJ>@BL?7UWN�>?>?RTv5{T7!�*YV7�U.7�]5YDRf]Vk�NB]SEJ2V7�>J[\2V7#YDAV{f7�Lu[\25NBR}[F7�>��u� 6�@0OIN!LuYDL\@�|�v5@B[\��NPx�]VN!]5YD7�E?7�LJ68RT]5Rf>?6 Rf>EJ25@0E�YD7�vVAVk!kBRf]Vkjv.7�[�NB687�>368N!L?7Z[FN!6�U5{T7�C � x�N!L�7FCV@P68UV{f7B��x%@PA5{ EIHy7�CD7�[FAVE?RfNB]5>�@BL?7�68NBLJ7�YDR��y[FAV{TE�E?NLJ7�U5{f@�H,���

-&.0/ 1&243�576�8"90:0;�<=1�>@?,AB>C57<�:D57E13257�LJ7�@BL?7�EI|�Njv5@!>XR}[�>?[\2V7#YDAV{fRT]5k8>XE?L\@0EJ7�k!RT7#> x�N!L�[\2VN!>?RT]5kj]V7�CtE�E?2VLJ7�@!Y�E?N87�Ct7#[FADEJ7B�V[�@P{f{T7#Y�[�N�N!UW7�LX�@PE?RfeB7z@P]WY�UVLJ7�7�68UDE?RfeB7!�

�´] EJ2V7�[�N�N!UW7�LJ@PE?RfeB7�>XE?L\@0E?7�kBH!��EJ2V7�>J[\2V7�YDA5{T7�L�25@B>]VNw|3@�HwEJN�x�NBL\[F7�@�EJ2VL?7#@BY�EJNwL?7�{T7#@B>?78E?2V7U5L?ND[F7#>?>?NBL#��132�AW>�� RTx�E?2V7y7�CD7�[FAVE?Rf]VkSE?25L?7#@BY ]V7�eB7�LjL?7�{T7#@B>?7�>�EJ2V7�UVLJND[F7#>?>?NBL#��EJ2V7�] NBE?2V7�L�EJ2VL?7#@BYV>

Å�Æ�¹�Å Ä

Page 8: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � "

]57�eB7�Luk!7FEz@�[\2W@P]5[�7EJN�7�Ct7#[FADEJ7B��132VRf>Z>?R EJA5@0EJRTN!]b[�@P]'ND[�[FAVLZ|�2V7�]��Ãx�NBLZ7�CD@B68UV{T7!�*E?2V7�7FCD7#[FADEJRT]VkEJ2VLJ7�@BY'7�]�E?7�LJ>ZRf] @P]�RT]D�W]VR EJ7�{TNtN!U��j��E�R}>z[F7�LXE\@PRf]V{fHw@�v5AVk ��2VN0|�7�eB7�L��ÃRf]�@�[�N�N!UW7�LJ@PE?RfeB7�[FNB]�EJ7FCtE��EJ2VR}>M�tRT]5Y8NBx.v5AVkzRf> YDLJ@B6�@0E?R}[3@B>MRTE�x�LJ7�7���7�>�EJ2V7�|�2VN!{T7�>?HD>IEJ7�6�� �´]�N!LJYV7�L E?N�@�e!NBR}Yj>?A5[\28>XRTE?AW@0E?RfNB]W>��EJ2VLJ7�@BY5> 6A5>XE�[FNtNBU.7�L\@0EJ7�|�RTE?28NBE?2V7�L E?2VLJ7�@!YV>M@P]5Y�@P{f|3@�Ht>�LJ7�{f7�@!>X7�E?2V7�U5L?ND[F7#>?>?NBL @0x¶EJ7�L�>?NB687�E?Rf687B�

�´]�@�UVLJ7�7�68UDE?RfeB7Z>IEJLJ@PE?7�kBHB�t>J[\2V7�YDA5{T7�L�[�@P]yx�N!LJ[�7�EJ2V7Z7FCD7�[�ADE?Rf]VkjE?2VLJ7�@!Y8E?N�L?7�{T7#@B>?7�EJ2V7uU5L?ND[F7#>I�>?NBL#�5|�257�]wRTE�YD7#[FR}YD7�>�E?N�YVN�>?N5���D[\2V7#YDAV{f7�L�[�@P]SAW>X7�>X7�eB7�L\@P{�[�L?RTE?7�L?R}@8EJNy|�R EJ25YDL\@�| E?2V7jUVL?ND[�7�>J>XN!Lx�LJNB6 EJ2V7 EJ2VLJ7�@BY �PNB]V7�[FLJR EJ7�LJRf@GRf>�LJ7�{}@0E?7#YZE?N�7FCD7#[FADEJRTN!]zE?Rf687'��EJRT6873>X{fR}[F7�>�@PLJ7�@B{T{fND[�@PE?7�YzE?NuE?2VLJ7�@!YV>��@B]5Y�[FNB]�EJ7FCtE >?|�RTEJ[\2�Nt[�[FAVL\>�|�2V7�]jE?257�EJRT687�>?{TR}[F7�kBRfeB7�]EJN�@B]j7�CD7�[FAVE?Rf]Vk�E?2VLJ7�@!Y�R}> 7FCDUVRfL?7#YÃ���GEJ2V7�L[�L?RTE?7�L?R}@�7FCDR}>IE#�Dx�NBL�7�CD@B68UV{T7z[�L?RTE?7�L?R}@�L?7�{f@PE?7�Y�E?N�U5L?RfNBLJR EJRT7#>��tx�N!LG>?RT68UV{fRf[�R EIH!�VNB]57ZYVN�7#>�]VNBEG[FNB]W>XR}YD7�LEJ2V7�>?7B�

KMLJN!>�@B]5Y�[FN!]5>�x�NBL�[�N�N!UW7�LJ@PE?RfeB7�@P]5Y�UVLJ7�7�6�UVE?RfeB7z>IEJLJ@PE?7�kBRf7�>3@PLJ7�E?2V7�x�NB{f{fN0|�RT]Vk �

(S���� r ������� p0qDo � ! � o���p � qV��n�� 13257�LJ7�R}>8]VN U.N!>J>XRfvVRf{TRTEIHB��RT] E?2V7Sk!7�]V7�LJ@B{�[�@B>?7B� E?N YD7�[�RfYV7�RTx�@EJ2VLJ7�@BY8R}>�[FNtNBU.7�L\@0EJRTe!7�NBL�]VNPE � E?25Rf>�Rf>�@P]�AV]5YD7#[FR}YV@PvV{f7GU5L?N!vV{T7�6 ��� 132�AW>���E?25L?7#@BY�[FNtN!UW7�LJ@PE?RfeB7�]57�>J>[�@P]V]5NPEuv.7�[\2V7�[\�!7�Yw@BADE?N!6�@0E?R}[�@B{T{fHS@P]5Y'Rf>�NBx�E?2V78UVLJNBk!LJ@B686�7�L � >�LJ7�>?UWN!]5>J@PvVRf{TRTEIHB��1325Rf>�R}>�@�LJ7�@P{U5L?N!vV{T7�6 x�NBL�[FNtN!UW7�LJ@PE?RfeB7u>XE?L\@0EJ7�k!RT7#>��D@B>�UVLJ7�>?7�]W[F7�NPx�@�]VN!]D��[�NtNBU.7�L\@0E?RfeB7�E?2VLJ7�@!Y�[�@B]�U5L?7�eB7�]�E�E?2V7k!{TN!v5@P{W>XHD>XE?7�6 EJN�|�N!L?�jUVLJNBU.7�LJ{TH!���u]�EJ2V7u[�NB]�E?L\@PLJHB�BUVL?7#>X7�]5[F7GNPxÃ]VNB]V��[�N�N!UW7�LJ@PE?RfeB73EJ2VL?7#@BYV>�Rf>�]VNPE@�UVLJNBv5{T7�6 x�NBL�UVLJ7�7�68UDE?RfeB7z>XE?L\@0E?7�kBRf7�>��tvW7#[�@PAW>X7�E?257�H�[�@P]�vW7Zx�N!LJ[�7�Y�E?N�LJ7�{f7�@!>X7uE?2V7zU5L?ND[F7#>?>?NBL#�

��� qVn ��*�)��� ��� o�� o���p � qV��n�� �´]º@ [FNtN!UW7�LJ@PE?RfeB7�x�L\@P687�|�NBLJ�*��7�Ct7#[FADEJRTN!]�NPx�@ E?25L?7#@BY�[�@B]V]VNPEv.7ZRT]�EJ7�LJL?AVUVE?7�Y�vtH8E?2V7z>J[\2V7�YDA5{T7�L3@PE�@PLJvVR EJLJ@BL?H�68NB687�]�E\>��M132VR}>36�@P�B7#> LJ7�@!>XN!]V]VRf]VkN!]�UVLJNBk!LJ@B6�>7#@B>?RT7�L!��@B[�EJA5@P{f{fH�RT]�@Z[FNtN!UW7�LJ@PE?RfeB7�x�LJ@B6�7�|�N!L?�*��EJ2VL?7#@BYj7FCD7�[�ADE?RfNB]�R}>�@0EJNB68Rf[3@!> {TN!]Vkz@B>�E?2573E?2VLJ7�@!YYVN�7#>Z]VNPEzLJ7�{f7�@!>X7E?2V7�UVLJND[F7#>?>?NBL#�132VR}>z[FN!]!EJLJ@!>IEZ|�RTE?2�UVL?7�7�68UDEJRTe!78[�NB]�E?7�CtE���|�2V7�L?7!��vtHwYD7Fx%@BAV{TE��EJ2V7�>J[\2V7�YDA5{T7�L3[�@P]�x�LJ7�7�{fHyRf]�E?7�LJ{f7�@�eB7GE?2VLJ7�@!YV>3Rf]5>IEJL?AW[�E?RfNB]W>��

��� ��n#qVm � & � o � � �´]'@yUVLJ7�7�68UDE?RfeB7[�NB]�E?7�CtE��.E?L\@BYDRTE?RfNB]W@P{�>?7�~�AV7�]�E?R}@P{�U5L?N!kBL\@P6�>�[�@B]SvW7�7�6jvVv.7�YD7#YRf] E?2VLJ7�@!YV>�@P]WY®LJAV]�|�R EJ2VNBAVEyL?R}>X� E?N UVLJ7�eB7�]�E8NBE?2V7�L8E?2VLJ7�@!YV>�E?N 7�Ct7#[FADEJ7B�º132tA5>���U5L?7�7�68UDE?RfeB7>J[\2V7#YDAV{f7�L\>y@PLJ7'@ k!NtNtY�U.NBRf]�E�x�N!L�LJ7�A5>J@PvVRf{fR EIH!���u]�E?2V7 [FN!]�E?L\@PLJHB�3@ �IE?2VRfLJYD��U5@BLXEIH �w>X7#~�AV7�]�E?R}@P{U5L?N!kBL\@P6 [�@P]V]VNBEv.7yA5>?7�Y�OIA5>XE�@!>�RTERf>RT] @w[FNtNBU.7�L\@0EJRTe!7�x�LJ@B6�7�|�N!L?�*��@B>�RTEj[�NBAV{}Y UVLJ7�eB7�]�E�E?2V7|�25NB{f7Z>?HD>IEJ7�6 EJN�UVLJNBkBLJ7�>J>��

(S�� � � o � p � �)�*� n �+� KMLJ7�7�68UDE?RfeB7S>J[\2V7�YDA5{T7�LJ>�@PLJ7�{f7�>J>jYV7FE?7�L?68Rf]VR}>IEJRf[�E?2W@P] [�NtNBU.7�L\@0E?RfeB7�NB]V7#>����[FE?A5@B{T{fHB��v.NPEJ2��tRT]5Y5>�NBxD>J[\2V7#YDAV{f7�L\>�25@�e!7 x�L?7�7�YDN!6 EJNG[\2VN�>X7MEJ2V7 ]57FCtE�EJ2VL?7#@BY�EJNG7FCD7#[FADEJ7'�02VN0|�7�e!7�L#�@�U5L?7�7�68UDE?RfeB7y>J[\2V7#YDAV{f7�Lz25@!>�@BYVYVR EJRTN!]5@P{Mx�LJ7�7#YDNB6 E?NSUVLJ7�7�68UDE�NBL�]5NPEzE?257�[FAVLJLJ7�]�E?{fHw7FCD7#[FADEJRT]VkEJ2VLJ7�@BY �tE?2VR}>�@BY5YDR EJRTN!]5@P{*x�LJ7�7#YDNB6�Rf>�@8>?AVUVUV{f7�687�]�E\@PLJH�>XN!AVL\[F7�NPx ]VNB]5YV7FE?7�L?68Rf]VR}>X6��

qDo#q � p � o � rPo ��� � � �´]�UVLJ7�7�68UDEJRTe!7Zx�LJ@B687�|�NBLJ�t>��D@B[�[F7�>J>�E?N�YV@0E\@jRf]�E?257�>X25@BL?7#Y�@BYVYDLJ7�>J>�>?U5@B[�76jA5>XE�v.7uUVLJNPEJ7�[FE?7�Y8v.7�[�@PA5>?7�EJ2VLJ7�@BY�>X|�RTEJ[\2V7#> [�@P]yND[�[�AVL�RT]�EJ2V7�6�R}YVYD{f7GNBx�@P]�@B[�[�7�>J>���KMLJNPE?7#[�EJRTN!]R}>�A5>?A5@P{f{TH8v5@!>X7#YyN!]�A5>?7uNBx�v.N�N!{T7#@P]ye0@BL?R}@PvV{f7�>��t[�@P{f{f7�Yy{fND[\�D>��D@j{TND[\�8Rf>3>?7FE � E\@P�B7�]�� v�H8EJ2V7uE?2VLJ7�@!Y@PEME?2V7�v.7�k!RT]5]VRT]5kzNPx.E?2V7�YV@PEJ@�A5>?7�@P]5Y�LJ7�>?7FE � LJ7�{f7�@!>X7#Y4��vtHRTE @0EME?257�7�]5Y ��|�2VRf{T73EJ2V7�{fNt[\�jRf>MEJ@P�!7�]��NBE?2V7�L�EJ2VL?7#@BYV>G|�RT{f{fRT]Vk�E?N�@B[�[�7�>J>3E?257jUVLJNPEJ7�[FE?7�YSY5@0EJ@y25@�eB7zEJN�|3@PRTE�x�NBLuE?257{fNt[\��E?N�vW7jL?7�{T7#@B>?7�YÃ�13257�E?7#>IE�NPx @�{TND[\�S@P]5YwR E\>u>?7FE?E?Rf]Vk�6jA5>IE�vW78@P]w@PE?N!6�R}[@![�EJRTN!]��WNBE?2V7�L?|�R}>?7zE?2V78>J[\2V7�YDA5{T7�Lu[FN!AV{}Y

¹�¹ °)( *,+.-�/

Page 9: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

% ��������� � � ��� �

|�RTE?2WYDLJ@�| EJ2V7jU5L?ND[F7#>?>?NBLGE?N�E?2V7jE?2VLJ7�@!Y8OIA5>XE�Rf]wv.7FEI|�7�7�]wE?257�E?7#>IEz@P]WY�E?2V78>?7FEXEJRT]5k5�*{T7#@�etRT]Vk�E?2V7Y5@0EJ@wAV]VUVLJNPEJ7�[�EJ7�YÃ�bKML?N!kBL\@P68687�L\>z@PLJ7�E?2tA5>�� RT]®UVL?7�7�68UDEJRTe!7�[FN!]�E?7FCtE\>���2VRfkB2V{fH [FNB]W[F7�LJ]V7#Yb|�RTE?2Y5@0EJ@�U5L?NBE?7�[FE?RfNB]�����N0|�7�e!7�L#��YD7#@BYD{fND[\�D>�[�@B]�ND[�[FAVL�v.7�[�@PA5>?7yNBx�@�vW@BY {fNt[\�tRf]Vkw>XE?L\@0E?7�kBH � @��5L\>IEEJ2VLJ7�@BY{TND[\�D>�@uYV@PEJ@u]V7�7#YD7�YjvtH�@u>?7�[�NB]5Y�E?2VLJ7�@!Y�|�2VR}[\2j>?Rf6�Rf{}@PLJ{THz2VN!{fY5>�@u{fNt[\�D>�NB]�@uY5@0EJ@u]V7�7�YD7#YvtHbE?2V7y�5LJ>XE �F� �u] E?2V7�[�NB]�E?L\@PLJHB��YV@0E\@w@PLJ7�]VNBE�E?Nwv.7yUVLJNPEJ7�[FE?7�Y Rf] @w[�N�N!UW7�LJ@PE?RfeB7�x�L\@P687�|�NBLJ�*�|�257�LJ7�EJ2VLJ7�@BY5> L?AV]8@0EJNB68R}[�@P{f{fHB�*'GNPEJ73E?25@PE @0E?N!68Rf[�R EIH�NBx5EJ7�>XE @P]5Y�>X7�E @B[FE?RfNB]5> R}>M@PADEJNB6�@0EJRf['�PEJ2�AW>��>?Rf6�U5{T7Zv.N�N!{T7#@P]�e0@PLJRf@BvV{T7#>�[�@B]�v.7�>?@Px�7�{fHyA5>?7�Y�x�NBL�YV@PEJ@�UVLJNPEJ7�[�EJRTN!]��

��� r �%�C� r � � %3@B>?Rf[�@P{f{TH!�VE?25L?7#@BYV>GAV]V7��y[�RT7�]5[FH�[FN!6�7#>�x�LJNB6 [FN!]!EJ7FCtEu>?|�R E\[\2V7�>����´]w@�U5L?7�7�68UDE?RfeB7>XE?L\@0EJ7�k!H'[FN!]!EJ7FCtEj>?|�R E\[\2V7�>@PLJ7�]VNPEA5]5YD7�L�[FN!]!EJL?N!{�NPx3EJ2V7yUVLJNBk!LJ@B6�687�L���v5ADEjNBx�EJ2V7�>J[\2V7�YVAV{T7�L!�Rf]b>?NB687�[�@B>?7�>��.E?2V78>J[\2V7�YDA5{T7�LGEJ2�AW>uRf]�E?LJNDYDA5[F7#>u[�NB]�E?7�CtE�>?|�R E\[\2V7�>�|�2VR}[\2b@BL?7�]5NPEZ]V7�[�7�>J>?@BL?H�vVADE[�@P]V]5NPE vW7�@�e!NBR}YD7�YzvtH�U5L?N!kBL\@P68687�L\>��Ã�´]8@Z[FNtNBU.7�L\@0EJRTe!7�[FN!]�E?7FCtE#�PR EMR}>�E?2V7�U5L?N!kBL\@P68687�L�� >�L?7#>XU.NB]D�>J@Pv5RT{fR EIH�E?N�RT]�E?LJNDYDA5[�7[FNtNBU.7�L\@0EJRTN!]S@B[�EJRTN!]5>�Rf]wN!LJYD7�L�E?N�NBvDE\@PRf]SE?2VLJ7�@!YV>�[�N�N!UW7�LJ@PE?RfNB]�� �u]57zE?2tA5>k!7�]V7�LJ@B{T{fH [FNB]W>XR}YD7�L\>E?25@PE8[�N�N!UW7�LJ@PE?RfeB7�>XE?L\@0EJ7�k!RT7#>j[�@P] {f7�@!Y E?Nb68NBLJ7�7���[�RT7�]�E�7�Ct7#[FADEJRTN!]5>E?25@B]U5L?7�7�68UDE?RfeB7ZN!]V7�>��

-&. - ��� :0E�>,:0;�<�� 3 ?,5�A 6":0; <&?4A�� 5� �� ?��&E1325L?7#@BYDRf]VkS>XHD>XE?7�68>[�@P] v.7yRf68UV{T7�687�]�E?7#Y RT] >?7�e!7�L\@P{M|3@�Ht>���YD7�UW7�]5YDRf]VkwN!] E?2V7y|3@�Hw�!7�LJ]V7�{�LJ7F�>?NBA5LJ[�7�>3@PLJ7uAW>X7#Y�

� ���!� o �5�J���� % q � �*�)� � � �u] N!]V7w7�C�EJL?7�687B��E?2V7�L?7b@PLJ7w>XHD>XE?7�6�>�Rf] |�2VR}[\2 A5>?7�L�EJ2VL?7#@BYV>�@PLJ76�@BUVUW7#Y�E?N8�B7�L?]V7�{*E?2VLJ7�@!YV>3Rf]�@8N!]V7F��E?NB��N!]V7G|3@�HB� �u]V7ZkB7�E�E?2V7ZUVR}[�EJAVLJ7zNPxMc�RfkBA5L?7Z`V�

...Operating System

Applicative Level

nativethread

Kernel Level

...user

thread

c�RfkBAVLJ7z` � �u]V7��¥EJNP� �u]V7zQS@PUVU5RT]Vk

�u> 68NDYD7�LJ]yN!UW7�LJ@PE?Rf]Vk>?Ht>XE?7�6�>�@BL?7�AW>XA5@B{T{fH�UVL?7�7�68UDEJRTe!7B��E?2VR}>�@PUVUVLJN!@![\28{T7#@BYV>�E?NU5L?7�7�68UDE?RfeB7EJ2VLJ7�@BYVRT]Vku>XHD>XE?7�6�>���132VR}>�Rf>�E?2V7�[�@!>X7�NBxWQ�R}[FLJN!>?NPx¶E*'u1 >XHD>XE?7�6��B'�NBE?7�EJ25@0E�E?2V7�6�@PUVUVRf]VkGE?NG�!7�LJ]V7�{EJ2VLJ7�@BY5>M[�@P]�v.7�LJ@PE?2V7�LMRT]V7��y[FRf7�]�E!�!x�NBLM7�CD@B68UV{T7!�B@P{f{DEJ2VL?7#@BYj6�@P]VRfUVAV{}@0EJRTN!]5> RT]�'u1 >?HD>IEJ7�6�@0EJRf[�@P{f{THRf]�E?LJNDYDA5[F7z@B]�N0e!7�LJ2V7�@!YyNPx %Bh!h6�@B[\25RT]V7z[�Ht[�{T7#>�� %����

Å�Æ�¹�Å Ä

Page 10: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � �

% q �.�*� o �V�\� ��� % q � �B�)� � � �u]�EJ2V7�NPEJ2V7�Lu7FCtE?LJ7�687!�W@P{f{�AW>X7�L�E?2VLJ7�@!YV>G[�@P]Sv.7�6�@PUVU.7�YwNB]�NB]V7A5]VRf~�AV7z�!7�LJ]V7�{.EJ2VL?7#@BY��1325Rf>36�@P]tH���E?NP��NB]57u6�@PU5UVRT]5k8[�NBLJL?7#>XU.NB]WY�E?N�c�RfkBAVLJ7Z_5�

Operating System

...

...

LWP LWP

c�RTk!AVL?7Z_ �MQw@P]tH��¥EJNP� �u]V7ZQw@PUVUVRf]Vk

�´]�EJ2VRf>G@PUVUVLJN!@![\2��V>J[\2V7�YDA5{T7�L�@P]5Y�A5>?7�L�EJ2VLJ7�@BY5>�[FN!L?LJ7�>?UWN!]5Y�EJN�NB]V7zU5L?ND[F7#>?>��V6�@PU5UW7#Y�EJN�NB]V7>?Rf]VkB{f7��B7�L?]V7�{�EJ2VL?7#@BYÃ�S132VR}>@BUVUVLJN!@![\2bR}>68N!L?7��57�CDRTvV{f7�EJ25@P] EJ2V7�UVLJ7�etRfNBA5>�NB]V7!� @!>ZE?257�[\2VN!Rf[�7R}>z{f7Fx¶EN!UW7�]�x�NBLzEJ2V7y>?[\257�YDAV{f7�LZEJNSRT68UV{f7�687�]!Ej7�RTE?2V7�L@�UVLJ7�7�68UDEJRTe!7�NBL�@S[�N�N!UW7�LJ@PE?RfeB78>IEJLJ@PE?7�kBHB�Rf]5YD7�UW7�]5YD7�]!EJ{TH�NPx�E?2V7ZN!UW7�LJ@PE?Rf]Vk�>XHD>XE?7�6 [\25@PL\@B[FE?7�LJR}>IEJRf[�>��

% q �.�*� o �V� � q �.� % q � �B�)� � � 13257�LJ7 @PLJ7�@P{}>XN�Rf]�E?7�L?687�YVRf@PE?7 @BUVUVLJN!@B[\257�>���Rf]�|�2VR}[\2zA5>X7�L�EJ2VL?7#@BYV>@[email protected]�YSEJN�>?7�e!7�L\@P{��!7�LJ]V7�{�E?25L?7#@BYV>���1325Rf>�R}>�EJ2V7�>?NB{fADEJRTN!]wUVLJNBU.N!>?7�YSvtH�E?2V7��tN!{f@BL?R}>G>?HD>IEJ7�6NBx"�tAV] �f9#g �����´] �tN!{f@BL?R}>zEJ7�LJ6�Rf]VN!{TN!kBHB� A5>?7�LE?2VLJ7�@!YV>@BL?7�6�@PUVU.7�Y EJN �XkBLJ7�7�] E?2VLJ7�@!Y �y|�2VRf[\2 @PLJ7k!L?N!AVU.7�Y�RT] �X{TRfkB2�E�|�7�RTk!2�E3U5L?ND[F7#>?>?7�>�� � � � K��F�W� � K�>�@PLJ7�E?2V7zA5]VR E\>�>J[\2V7�YDA5{T7#Y�vtH�EJ2V7zNBU.7�L\@0EJRT]5k>?HD>IEJ7�6��M132VR}>�6�@P]tH��¥EJNP��68@B]tH8@BUVUVLJN!@![\2�R}>3L?7�UVL?7#>X7�]�E?7�Y�NB]�c�RTk!AVLJ7 "V�

'GNPE?7GE?25@PE EJ2VL?7#@BYV> @PLJ7�7FCD7�[�ADE?7#Y8RT]�@�[FNtNBU.7�L\@0EJRTe!7�|�@�HjRT]W>XR}YD7u@� � K���vVADE�� � K�>�@PLJ7G>J[\2V7�Yt�A5{T7#Y'Rf] @�U5L?7�7�68UDE?RfeB78|3@�HSvtH �tNB{}@PLJR}>����tNB{}@PLJR}>GR}>ZE?2tA5>z@�68RTC'NPx�[FNtNBU.7�L\@0EJRTe!7j@B]5Y'U5L?7�7�68UDE?RfeB7>XE?L\@0EJ7�k!RT7#>��

��p � qV��� � m�p0qDp ��� n�q � � ��p � qV��n � � ��q ��� ��q �W� n�� � {fNPENBx�EJ2VLJ7�@BY�{fRTv5LJ@BL?Rf7�>Z7�CtR}>XE���x�NBL@{}@PLJkB7z]tAV6jvW7�LGNBx {}@P]5kBA5@BkB7�>��3��68NB]VkyE?2V7#>X7jRf>�E?2V7�K E?2VLJ7�@!Y�{TRfvVL\@PLJH � a ��|�2VRf[\2'RT68UV{f7�687�]�E\>�Rf] �EJ2V7�K �$�t��� ����� >IE\@P]5Y5@PL\Y�x�NBL3EJ2VLJ7�@BY5>��

��RT]tADC8132VL?7#@BYV> � � �WUVLJNBU.N!>?7�> @P]8Rf68UV{T7�687�]�EJ@PE?RfNB]8NPxÃK �$�t����x�N!L ��Rf]tADCÃ����@![\2���Rf]�AVCE?25L?7#@BYjRf>@�>?7�U5@BLJ@PE?7� G]VRTC�UVLJNt[�7�>J>��t>?25@PLJRT]5kRTEJ>�@BY5YDL?7#>?>�>?U5@B[�7u|�RTE?2�E?2V7�NPEJ2V7�L�EJ2VL?7#@BYV> � A5>XRf]VkjE?2V7z>?HD>IEJ7�6[�@P{f{����������������F� �D[\2V7�YVAV{TRf]Vk v.7FEI|�7�7�] EJ2VLJ7�@BY5>8Rf>�2W@P]5YD{f7�Y vtH EJ2V7w�!7�LJ]V7�{�>J[\2V7�YVAV{T7�L���OIA5>XEy{TRf�B7>J[\2V7#YDAV{fRT]Vk8v.7FEI|�7�7�]� G]VR C�UVLJNt[�7�>J>X7#>��

¹�¹ °)( *,+.-�/

Page 11: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� ��������� � � ��� �

Operating System

...

...

LWP LWP

c�RTk!AVLJ7 " ��QS@P]tH��¥EJNP�IQS@P]tHyQS@BUVUVRf]Vk

;�7#[F7�]!EJ{TH!����]tA'K�N!LXE\@PvV{f7132VLJ7�@!YV> � ` � 25@�eB7�v.7�7�]wUVLJNBU.N!>?7�Y�|�RTE?2wU.NBL?EJ@BvVRT{fRTEIH�@!>�6�@PRf]wNBvVOI7�[��EJRTe!7'�tEJ2V7�H�@PLJ7�U5AVL?7�{TH�[FNtNBU.7�L\@0EJRTe!7GEJ2VL?7#@BYV>��

�M7�L?Hx�7�|�{f@B]VkBAW@PkB7#> RT]�EJL?NDYDA5[�73E?2VLJ7�@!YV>M@B>M�5LJ>XE [F{}@B>J>MUVLJRf6�RTE?RfeB7#>�� 132V7�68N!>XE |�7�{f{ ���t]VN0|�]�Rf>MNBx[�NBAVL\>?7�B@�e0@��f9 ���u��[�EJA5@P{f{fHB�.2VN0|�7�eB7�L��W�!@�e0@8v5@B>?R}[�@P{f{fH�Rf]�E?LJNtYVA5[F7#>�{fNt[\�D> � |�R EJ2wEJ2V7���� � ��� ������ ����!7�Ht|�NBL\Y4���D@P]WY�]VNBEGYDRfL?7#[�E?{fH�EJ2VL?7#@BYV>3|�25Rf[\2�@PLJ7z@�e�@BRT{}@Pv5{T7uE?2VLJNBA5kB2�@P]��GKM���

132V7 � QS� {}@P]Vk!A5@Pk!7 �f9�h � R}>Z@P]�NPE?257�LZ{f@B]VkBAW@PkB7�|�RTE?2bE?2VLJ7�@!YV>���R EzRf]�E?LJNtYVA5[F7#>GEJ2VLJ7�@BY5>uRf]�E?2V7x�A5]5[�EJRTN!]5@P{VU5L?N!kBL\@P6868RT]Vkux�L\@P687�|�NBLJ��NPx�QS� � � QS��EJ2VL?7#@BYV>M@BL?7�LJAV]8vtHj@ZUVLJ7�7�68UDE?RfeB7�>J[\2V7�YVAV{T7�L��

-&.�� ��A�� A � 3 ?,57A 6"E��E�R}> eB7�L?H�YVR �y[FA5{ E�EJNzYD7�>?RTk!]EJ2VLJ7�@BYV7�Y�>XHD>XE?7�6�> |�2VR}[\2�L?AV]8Rf]EJ2V7�>J@P6873|�@�HzN!]�v.NPEJ2jU5L?7�7�68UDE?RfeB7@B]5Y�[FNtNBU.7�L\@0EJRTe!7Gx�L\@P687�|�NBLJ�D>�� Q�N!>XE�NPx�E?2V7ZEJRT687B�VE?2VLJ7�@!YD7�Y�>XHD>XE?7�68>3YDN8]VNBE�x�AV{T�5{T{�E?2VR}>3L?7#~�AVRTLJ7F�687�]!E#�V@P]5Y�@PLJ7uE?2tA5>3]VNBE3U.NBL?EJ@BvV{f7B� �´]�EJ2V7z[FN!]!EJ7FCtE3NPx �!@�e0@V��EJ@!>X��R}>37�e!7�]�68NBLJ7�YDR��y[FAV{TE�vW7#[�@BA5>X7]5N�@B>J>XAV68UDEJRTN!]�[�@P]8v.7�6�@BYD7�@BvWN!ADE�EJ2V7u����Q >?[\257�YDAV{fRf]Vk�>IEJLJ@PE?7�kBHB� '�N�@!>?>?AV68UDEJRTN!]8[�@P]8]V7�R EJ2V7�Lv.786�@BYD7�NB]'E?2V78|3@�H�EJ2V7y���ZQ R}>�RT68UV{f7�687�]!EJ7�Y � UVLJND[F7#>?>��Ã]5@0EJRTe!7�EJ2VL?7#@BYÃ�ÃN!Lz>XN!6�7�E?2VRf]Vk�7�{}>X7 ����´]�EJ2VRf>�>?RTE?A5@PE?RfNB]��VU5L?N!kBL\@P68687�L\> 25@�e!7GEJN�x%@B[F7�@8>?R EJA5@0EJRTN!]�|�257�LJ7'�

� ��@B[\2 EJ2VLJ7�@BY [�@P] v.7�UVLJ7�7�68UDE?7#Y @0Ej@B]tHwE?Rf687B�Mv.7�[�@PA5>?7�>J[\2V7�YDA5{TRf]Vk'[�@P] v.7yUVLJ7�7�68UDEJRTe!7B�132VR}>Rf68UV{TRf7�>E?2W@0E�YV@0E\@S25@�eB7yE?N'v.7�U5L?NBE?7�[FE?7#Y vtH >?Ht]5[\2VLJNB]VR ��7#Y [FNDYD7B��@!>>?NtNB] @B>E?257�H[�@B]�v.7�@![�[F7#>?>?7�YbvtHwEI|�NSYDRf>XE?Rf]5[FE�E?2VLJ7�@!YV>���132V7�>?7�UVLJNPEJ7�[�EJRTN!]5>z@PLJ78AV]V]V7#[F7#>?>J@PLJHw|�2V7�] @[FNtNBU.7�L\@0EJRTe!7�>XE?L\@0EJ7�k!H�Rf>�AW>X7#Y�

� ��@B[\2E?2VLJ7�@!Yz6AW>IE UW7�L?RfNDYDR}[�@P{f{fHzkBRfeB7 A5Uj[FN!]�E?LJNB{�RT]jNBL\YD7�L�E?NZ[FNtNBU.7�L\@0EJ7 |�RTE?2NBE?2V7�L�E?2VLJ7�@!YV>��vW7#[�@BA5>X7u>?[\2V7#YDAV{fRT]5k�[�@P]�v.7G[�N�N!UW7�LJ@PE?RfeB7!�*'�NBE?7�EJ25@0E E?2V7uv5@B>?Rf[���� � ��������687FEJ2VNDY�x�NBL�[FNtNBUD�7�L\@0EJRTN!]S25@B>GeB7�LJH�{TNtN!>?7�>?7�6�@P]�E?R}[�>!�3R EZYDNt7�>G]VNPEux�NBL\[F7@y[\2W@P]Vk!7�NPxMUVLJND[F7�>J>?NBLG@!>?>?RTk!]V687�]�E��

Å�Æ�¹�Å Ä

Page 12: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � a

vVADE�NB]V{fH�@B{T{fN0|�>MRTE EJNzEJ@B�B7�UV{}@B[�7B� '�NBE?7u@B{f>?NZE?2W@0E ��� � � � � � ����� �t��|�2VR}[\28x�NBL\[F7�>�E?2V7G7FCD7�[�ADEX�RT]5kzE?2VLJ7�@!YjE?N�LJ7�{f7�@!>X73UVLJND[F7�>J>?NBL#�PRf> ]VNPE�U.NBL?EJ@BvV{f7G@B>MRTE�YD7�UW7�]5YV> NB]8E?257�6�@B[\2VRf]V7�7FCD7#[FADEJRTN!]>XU.7�7#Y�

1�Nw>?AV6���AVU���U5L?N!kBL\@P68687�L\>u2W@�eB78E?Nb[FNDYD78x�NBLE?2V7�|�N!LJ>XE[�@!>X78x�N!L�kB7�EXE?Rf]VkwU.NBL?EJ@BvV{f7y[FNB]W[FAVLJL?7�]�E[�NDYD7 � N!]V7�YDNt7�>z]VNBE[FN!]5>XR}YD7�LzUVL?RfNBLJRTE?Rf7�>Z|�2VR}[\2�YVNS]VNPE@PE@P{f{�>XN!{Te!7jEJ2V7yUVLJNBv5{T7�6 � >?7�7 � %���x�NBL�@YVRf>J[FA5>J>?RTN!]�NB]�EJ2VRf>�UWN!RT]�E �F�

�!@�e0@�UVLJNBk!LJ@B6�687�LJ>�@BL?7Gx%@B[�7�Yy|�RTE?2�@>?7�[�NB]5Y�UVLJNBvV{f7�6 [FN!]5[F7�L?]5RT]VkE?2VLJ7�@!YV>!��Rf]5YD7�7�YÃ�D|3@�HD>ME?Nk!7FEu�5]V7j[�NB]�E?LJNB{�N0eB7�L�E?2VLJ7�@!YÃ�WE?25@PE�R}>u@BvVRf{TRTEIH�EJN�>XE?N!U��Ã>XA5>?U.7�]5YÃ�*N!LGLJ7�>?AV687�E?25L?7#@BYV>��W2W@�eB7�v.7�7�]>?AVUVU5L?7#>?>?7�Ybx�LJNB6 L?7#[F7�]�E�e!7�L\>XRfNB]5>ZNBx3E?2V7�{f@B]VkBA5@BkB7 �T9#` ���S;�7�@!>XN!] Rf>�E?25@PEjA5>?RT]5k�E?2V7#>X7y687#@P]5>Rf>7�L?LJNBLMU5L?N!]V7 � x�N!L 7FCV@B6�U5{T7!��>XE?N!UVUVRf]Vk�@ZE?25L?7#@BY�[�@B]yYV@P6�@BkB7�YV@PEJ@�E?2W@0E�|�257�LJ7�{TND[\�B7#Y8vtHjRTE �F� 1325Rf>[�7�L?EJ@BRT]V{fH�|�7�@B�B7�]jE?257�{f@B]VkBAW@PkB7�@!>��!|�R EJ2VNBADEM�W]V7G[FN!]�E?LJNB{DN0eB7�L E?2VLJ7�@!YV>��PR E�vW7#[FNB687#>MeB7�L?HYVR �y[FA5{ EEJN8UVL?N!kBL\@P6 A5>?7�L�>?U.7�[FRT�W[Z>J[\2V7�YDA5{TRf]Vk�>IEJLJ@PE?7�kBRf7�>��

-&.�� � ��;�2 9 8�EC: ��;� 7�@PLJ7ux%@B[F7#Y�E?N�E?2V7 � >X7�7�68Rf]VkB{fH�[FN!]�E?L\@BYDR}[�EJNBLJH@��x�NB{f{fN0|�RT]Vk�]V7�7�YV>!�

� � UVLJ7�7�68UDEJRTN!]�687#[\25@P]VR}>?6 Rf>G@Pv5>?NB{fADE?7�{TH�]V7�[�7�>J>?@BL?H�x�NBL�[�NDYD7zL?7�A5>?7B�

� 132VLJ7�@BY >?HD>IEJ7�6�>>?2VN!AV{fY v.7�@!>YD7�E?7�L?68Rf]VRf>XE?R}[�@!>�U.N!>J>XRfvV{f7 � Rf] U5@BLXEJRf[�AV{}@PL#��x�N!LjYD7�vVAVkBk!RT]5k[FN!]5[F7�L?]5> ���

� 132V7�LJ7�>?2VNBAV{}Y�vW7@�|3@�H�E?N�{fRf6�RTE�E?N8EJ2V7z68RT]5RT6jAV6�EJ2V7zA5>?7zNPxMYD7�@!YD{fNt[\��UVL?N!]V7z[FN!]5>IEJL?AW[�EJ>>XAW[\2�@!>3{TND[\�D>��

� �u]V7j>?2VN!AV{fYw25@�eB7�U.N!>J>?RTvVRf{fR EIH�E?N�kB7FEu�5]V7�[FNB]�EJL?N!{�N0eB7�L�E?25L?7#@BYV>G7FCD7�[�ADE?RfNB]��.x�N!LGv.7�Rf]Vk�@BvV{T7E?N�UVLJNBk!LJ@B6 A5>X7�LX�´YD7��5]V7�Y�>J[\2V7�YDA5{TRf]Vk�>IEJLJ@PE?7�kBRf7�>��

� 132VLJ7�@BY [�NB]�E?7�C�E>?|�RTEJ[\2VRf]Vk!>���7�eB7�]�RTx�E?257�Hb@BL?7y[\257�@PU.7�LZEJ25@P] U5L?ND[F7#>?>?7�>ZN!]V7�>�� @PLJ7�L\@0EJ2V7�L7FCDU.7�]5>?RTe!7�@B]5Yb6�7�68NBLJHw[FNB]W>XAV68Rf]Vk5�j��E�>X2VN!AV{}Yw7FCDR}>IE�@�|�@�H�EJN�{TRf68R EZE?257�6 EJN�EJ2V7�>IEJL?R}[�E68RT]VRf6A56��

132V7Zx%@BRTL3x�L\@P687�|�N!L?��|�7z@PLJ7uRf]�E?LJNtYVA5[FRf]Vk8]VN0| R}>�@�UVLJNBU.N!>J@P{Ã>?NB{fADE?RfNB]�E?N�x�AV{T�5{f{�E?257�>?7�]57�7�Y5>��

� ������ ��������� ��������� �� �

�u]57w[FNB]W>XR}YD7�L\>y@ ]57�| x�LJ@B687�|�NBLJ� 6�@BYD7wNBxZx%@PRfL�E?2VLJ7�@!YV>�7�Ct7#[FADEJ7�Y�vtH x%@PRfL�>J[\2V7�YDA5{T7�LJ>�� ��E�Rf>U5L?7#>X7�]!EJ7�Y�etRf@8@�{TR}>XE�NPx�~�AV7#>IEJRTN!]5> �0@P]W>X|�7�L\>��

� ��qDo qDp ��� q � p ��p � qV��n�� ��x%@PRfLEJ2VLJ7�@BY Rf>jv5@B>?R}[�@P{f{fH @b[FNtNBU.7�L\@0EJRTe!7�E?25L?7#@BY |�2VR}[\2®6jA5>IE]57�eB7�L�x�N!L?k!7FEJ>zE?Nb[�NtNBU.7�L\@0E?7�|�R EJ2 NPEJ2V7�LE?2VLJ7�@!YV>�� vtH [�@B{T{fRT]5kSE?2V7 ��� � � ������ �����86�7�E?2VNDYÃ� c5@BRTLEJ2VLJ7�@BY5>�@PLJ7uLJAV]�vtH�x%@PRfL�>?[\257�YDAV{f7�L\>!�t>J[\2V7#YDAV{f7�L3x%@PRfLJ]V7�>J>3Rf>�EI|�NPx�N!{fY �

¹�¹ °)( *,+.-�/

Page 13: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

9#h ��������� � � ��� �

� c5@BRTL>J[\2V7#YDAV{f7�L\>ZkBRfeB787�@![\2'EJ2VL?7#@BY�@P] 7�~�A5@B{�U.N!>J>XRfvVRf{TRTEIHSE?NSk!7FEzEJ2V7�UVLJNt[�7�>J>XN!L���132tA5>���@B{T{E?2VLJ7�@!YV>�kB7�E�7#~!AW@P{3L?RfkB2�EjE?N�7FCD7�[�ADE?7!� Q�NBLJ7�U5L?7#[FR}>X7�{TH!�Mx%@PRfL�>?[\2V7#YDAV{f7�L\>jYV7F�5]V7�7FCD7#[FADEJRTN!]UV25@!>X7#>�|�2V7�LJ7�@P{f{�>XEJ@BLXEJ7�Y�E?2VLJ7�@!YV>�LJAV]�AVU�E?N8EJ2V7�RfL�]V7�C�E�[FNtNBU.7�L\@0EJRTN!]�U.NBRf]!E#�W@!>�>X25N0|�]�N!]c�RTk!AVL?7 %5�

...fair scheduler

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

c�RfkBA5L?7 % ��cW@PRfL��D[\2V7#YDAV{f7�L

� c5@BRTLG>J[\2V7#YDAV{f7�LG@B{T|3@�HD>�YVRf>?U5@0E\[\2�E?2V7>J@P687zRf]Dx�NBLJ6�@0EJRTN!]�EJNy@P{f{�E?25L?7#@BYV>���Q�N!L?7zUVLJ7�[�Rf>?7�{fHB�V@x%@PRfLz>?[\2V7#YDAV{f7�L�vVLJN!@BY5[�@B>XEJ>u7�e!7�]�EJ>GE?N�@P{f{�E?2VLJ7�@!YV>Z>IE\@PL?E?7#YwRf]'RTE��j132tA5>��ÃRf]wE?257jx%@BRTL�x�L\@P687F�|�N!L?�*�3@P{f{�EJ2VL?7#@BYV>�>X7�7S7�eB7�]�EJ>�Rf]º7FCV@![�E?{fH EJ2V7'>J@P687S|3@�HB�3vW7#[�@BA5>X7�EJ2V7�H�@PLJ7SvVLJN!@!YV[�@!>IE#�Q�NBLJ7�N0e!7�L#�B7�eB7�]�E\>�[�@P]y25@�e!7Ge0@P{fAV7#>�@!>?>?ND[FR}@0E?7#Y8E?NjE?257�RfL�k!7�]V7�LJ@PE?RfNB]5>���@B]5Y�EJ2V7�>?7Ge0@B{TAV7#>3@PLJ7@P{}>XN8vVLJN!@!YV[�@!>IE#�

� � � � q � p ��p � qV��n � 132V7�x%@PRfL�x�LJ@B6�7�|�N!L?�8R}>�v5@B>?Rf[�@P{f{TH�[�N�N!UW7�LJ@PE?RfeB7 ��RTE�Rf>�EJ2�AW>�>XRf68UV{T7�L�E?25@B]U5L?7�7�68UDE?RfeB7NB]V7#>��u�´]5YD7�7#YÃ�Ã@B>GUVL?7�7�68UDEJRTN!]'[�@B]V]VNPEuNt[�[FAVL\>�Rf]b@B]SAV]5[�NB]�E?LJNB{f7�Y�|3@�HB�*[FNtNBU.7�L\@0EJRTe!7x�L\@P687�|�N!L?�D>�@BL?7�{f7�>J>�A5]5YD7FEJ7�LJ68RT]VR}>XE?R}[P�Z��[�E?AW@P{f{TH!�WEJ2V7�x%@BRTLux�L\@P687�|�NBLJ��UVAVEJ>GE?2V7�>XRTE?A5@PE?RfNB]SEJN�@B]7�CtE?LJ7�687�U.NBRf]!E#�D@B>�RTE3Rf>�x�AV{T{fHyYD7�E?7�LJ68RT]5Rf>XE?R}[���E?25L?7#@BYV>�@PLJ7G[\2VN!>?7�]8x�N!L 7�Ct7#[FADEJRTN!]�x�NB{f{fN0|�RT]Vkj@�>IEJL?R}[�ELJNBA5]5Yt��L?N!vVRT]�@P{fkBN!L?RTE?2V6�� 132VR}>�[�@B]�v.7�@�kBLJ7�@0E�2V7�{TU�Rf]�U5L?N!kBL\@P6868RT]Vk8@P]WY�YD7�vVAVk!kBRf]Vk5�

132V78x%@BRTL�x�LJ@B6�7�|�N!L?�SU5L?N0etR}YD7�>ZA5>?7�L\>Z|�RTE?2 @�UWN0|�7�L?x�AV{ [�NB686A5]VRf[�@0EJRTN!]b687�@B]�E?25@PE�Rf>z7�eB7�]!Ev5L?N�@BYV[�@B>XE?Rf]Vk5� 132VR}>�>XRf68UV{TRT�57#>�[FN!]5[FAVLJLJ7�]�E�U5L?N!kBL\@P6868RT]Vkj|�2VRf{T7zLJ7�YDAW[FRf]Vk8L?R}>X�D>�NPxMYD7#@BYD{fND[\�t>��

� � ��� p � qV��r!qVn�o � ! �C� o#n � �Me!7�]�EJ>�@BL?7ZA5>?7�Y�|�2V7�]�N!]V7Z|�@B]�EJ>3NB]57�N!L�68NBLJ7uEJ2VLJ7�@BY5>�E?N8|�@BR Ex�N!L�@�[FN!]5YDRTE?RfNB]��*|�RTE?2VN!ADEZ]V7�7#YSx�NBL�EJ2V7�6 EJN�U.NB{f{M@ye0@PLJRf@BvV{f7�E?N�YD7�E?7�LJ68RT]57j|�2V7�]wEJ2V7�[�NB]5YVR EJRTN!]R}>�x�A5{ �5{f{f7�Y��%�LJN!@!YV[�@!>IE�R}>G@�687�@B]�E?Nyk!7FEG68NDYDAV{}@PLJRTEIHB�W@!>3E?257�E?25L?7#@BY�|�2VR}[\2SkB7�]V7�L\@0EJ7�>�@B]�7�eB7�]!E2W@B>Z]VNBE?2VRf]Vk�E?N��t]VN0| @BvWN!ADE�UWNBE?7�]!EJRf@B{T{fHwLJ7�[�7�RfeB7�L\>uNPx�RTE��ycW@PRfL?]57�>J>uRf] 7�e!7�]�EzUVL?ND[�7�>J>XRf]Vk�687#@P]5>EJ25@0E�@P{f{*E?25L?7#@BYV>�|�@BR EJRT]5kx�N!L3@B]�7�eB7�]�E3L?7#[F7�RTe!7GRTE�YVAVL?Rf]VkjE?2V7Z>J@P687uU525@B>?7u|�257�LJ7uRTE�Rf>�kB7�]V7�L\@0EJ7�Y �EJ2tA5>��!@GEJ2VLJ7�@BYj{f7�@�etRT]5k�[�NB]�E?LJNB{�E?N�[�NtNBU.7�L\@0E?7�|�RTE?28NPEJ2V7�L EJ2VL?7#@BYV> YDNt7#> ]VNPE�LJRf>?�zEJN�{fNtN!>?7�@B]j7�eB7�]!Ek!7�]V7�LJ@PE?7#Y�{f@PE?7�L�Rf]SE?2V78>J@P687UV2W@B>?7B�$'�NPEJ7�EJ25@0Ez>?[\257�YDAV{f7�L�UV25@!>X7#>G@![�E?AW@P{f{THSYD7��5]V7jE?Rf6�78>J[FNBU.7�>NBx�7�eB7�]�E\>��

�S�t� � n � o�� � � & � � �@� o � � � cW@PRfLuEJ2VLJ7�@BY5>u@BL?7�RT68UV{f7�687�]!EJ7�Y'RT]bE?2V7y�!@�e0@yUVLJNBk!LJ@B6�68Rf]Vky{}@P]D�k!A5@Pk!7�@B]5YbA5>?@BvV{f7jEJ2VLJNBAVk!2b@P] �GK�����c5@BRTLZEJ2VL?7#@BYbRT68UV{f7�687�]!E\@0EJRTN!]bR}>Zv5@B>?7�YbNB] >XEJ@P]WYV@PL\Yb�!@�e0@EJ2VLJ7�@BY5>��*vVADEZRTE�R}>�RT]5YV7�U.7�]5YD7�]�E�NBx�E?2V78@B[FE?A5@B{ ����Q @P]5Y �$�*�*@P]5Y'Rf>uE?2tA5>Gx�AV{f{TH'UWN!LXE\@PvV{f7B�zc5@BRTL

Å�Æ�¹�Å Ä

Page 14: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � 9!9

>J[\2V7#YDAV{f7�L\> @PLJ7G@![�E?AW@P{f{TH8@0E�{T7�eB7�{.NPx��!@�e0@ �GRfL?E?A5@B{*QS@![\2VRf]V7�>!�!N!]V7�EJ2�AW>�2W@�eB73E?257�>?R EJA5@0EJRTN!]�>?2VN0|�]N!]�c�RfkBAVLJ7 �t�

Operating System

JVM

...fair scheduler

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

c�RfkBA5L?7 � � �´68UV{f7�687�]�E\@0E?RfNB]

� ��qDoSqVm � ��o � � r���n � �G>�x%@BRTLZEJ2VL?7#@BYV>Z@BL?7�v5@B>?R}[�@P{f{fHw[FNtNBU.7�L\@0EJRTe!7B�*]VN�{TND[\�SR}>Z]V7�7#YD7�Yb|�2V7�]@![�[�7�>J>XRf]Vk8@�>?25@BL?7#Y�N!vDOI7�[FE�� � 2VRf{T7z7�CD7�[FAVE?Rf]Vk5�5@jx%@BRTL3EJ2VL?7#@BY�[�@B]V]VNBE3v.7zRf]!EJ7�LJL?A5UDE?7#Y�vtH�@B]VNPEJ2V7�Lx%@BRTL�E?2VLJ7�@!Y �uE?2tA5>���7FCD7�[�ADE?RfNB] R}>�@PE?NB68R}[w@P]WY E?2V7�L?7bRf>�]VN ]V7�7�Y NBxz>?Ht]5[\2VLJNB]VR ��7#Y�[FNDYD7B��1325Rf>[�NB]�E?LJRfvVADE?7#>.E?N�68Rf]VRf6�R ��7�YD7�@!YD{TND[\�G>?RTE?A5@PE?RfNB]5>Ã|�25Rf[\2z@PLJ7�E?2V7 UV{f@BkBAV7MNBxt[�NB]5[�AVLJL?7�]!EÃUVLJNBk!LJ@B686�Rf]VkW�

� ��qDo�q5m � ��o #Zp ��� p � o �%� n�� KMLJRTN!L?RTE?Rf7�>�@PLJ7�687�@B]VRT]5kB{f7�>J>�Rf]b@8x%@BRTLZ[FN!]!EJ7FCtE��*|�2V7�L?7�E?2VLJ7�@!YV>u@B{ �|3@�HD>Z25@�eB7�7#~�A5@P{�L?RfkB2�EJ>zE?Nw7�Ct7#[FADEJ7B�S��vW>X7�]5[F7yNBx�UVL?RfNBLJRTE?Rf7�>�@B{f>?Nw[FN!]!EJL?RfvVADEJ7�>�E?N'>?RT68UV{fRTx�HbUVLJNP�k!LJ@B686�Rf]VkW�*'�NBE?7�EJ25@0E E?2V7u7��*7�[�E�NPxÃUVLJRTN!L?RTE?Rf7�>MRf]��!@�e�@�R}>�L\@0EJ2V7�L�A5]5[F{f7�@BL � >?7�7 � % �Wx�NBL @YDRf>J[FAW>?>?RTN!]N!]�EJ2VR}>�6�@0EXEJ7�L ���

� ��qDo®qVm � ��o�#Zp �t� � � o �%� � � � UVL?7�7�68UDEJRTe!7�>XE?L\@0EJ7�k!H Rf>�>XN!6�7�E?Rf687�>�]V7�7�YD7#YÃ��x�NBL�7�CD@B68UV{T7EJNbLJ7�AW>X7�@'U5RT7#[F7�NPxu[�NDYD7�|�2VRf[\2 |�@!>�]VNPE�YD7�>?RfkB]V7#Y E?N v.7�L?AV] [FN!]5[FAVLJLJ7�]�E?{fHB� �´]®E?2V7S[�NB]�E?7�C�ENBx�x%@PRfL�E?2VLJ7�@!YV>��ÃUVL?7�7�68UDEJRTN!]'R}>uU.N!>J>?RTvV{f7jE?2VLJNBAVk!2wEJ2V78]VNPEJRTN!]'NPx�@yx%@BRTLZUVLJND[F7�>J>��*@!>?>?AV68Rf]Vk�EJ25@0EEJ2V7�NBU.7�L\@0EJRT]5k�>?HD>IEJ7�6�Rf>zU5L?7�7�68UDE?RfeB7!��� x%@PRfL�UVLJND[F7#>?>�kBRfeB7#>Z{TRTx�7�EJNw@�>XEJ@B]5YV@BLJYbUVLJNt[�7�>J>Z|�2VR}[\2R}>�7�CD7�[FAVE?7�Ywv�H�E?257NBU.7�L\@0EJRT]5k�>XHD>XE?7�6 [�NB]5[�AVL?7�]�E?{fH�|�RTE?2SEJ2V7�����Q LJAV]V]5RT]Vk�E?2V7x%@PRfLu>J[\2V7�YVAV{T7�L��1325Rf>3k!RTe!7�>�E?257�YDLJ@�|�Rf]Vk�NPx c�RfkBA5L?7 �V�D|�257�LJ7uEJ2V7Zx%@PRfL�UVLJND[F7�>J>3R}>3L?7�UVL?7#>X7�]�E?7�Y�@B>3@8vV{}@B[\��v.N�CÃ�

'GNPE?7ZEJ25@0E�N!]V7ZkB7�EJ>�@P]�Rf]5>IE\@P]5[�7zNPx�E?2V7z6�@P]tH���E?NP��6�@P]tH�@PUVU5L?N�@B[\2�U5L?7#>X7�]!EJ7�Y�RT]S>?7�[FE?RfNB]SgD�¸gD�

� ��qDo�qVm � ��o #uqDp0q & & � & � n � � GUSE?N�]VN0|z�WN!]V7�25@!>�N!]V{THS[�NB]5>?RfYV7�LJ7�Y�AV]VRfUVLJND[F7�>J>?NBL�6�@B[\25RT]V7#>��� 257�]�>X7�eB7�L\@P{*UVLJND[F7#>?>?NBL\> @BL?7Z@�e0@PRf{f@BvV{T7!�D>X7�eB7�L\@P{.EJ2VL?7#@BYV>3[�@P]�vW7z>?RT6jAV{ E\@P]V7�NBA5>?{fH�7FCD7�[�ADE?7#Y �DE?25Rf>>?RTE?A5@PE?RfNB]�Rf>zNBx¶E?7�] [�@P{f{T7#Y'UW@PL\@P{f{T7�{TR}>X6����G>zE?2VLJ7�@!YV>z@PLJ7�>?25@BL?Rf]Vk�E?2V7y>J@P687�@BY5YDL?7#>?>Z>?U5@B[�7B��Y5@0EJ@

¹�¹ °)( *,+.-�/

Page 15: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

9�g ��������� � � ��� �

preemptive OS

JVM process

...

...fair scheduler

cooperate

cooperate

cooperate

cooperate

cooperate

cooperate

c�RfkBAVLJ7 � �Mc5@BRTL�K�L?ND[F7#>?>

U5L?NBE?7�[FE?RfNB] v.7�[�NB687�>j6�@P]5Y5@0E?N!L?H!� ��[�E?AW@P{f{TH!�ME?2V7�>?R EJA5@0EJRTN!]®R}>je!7�LJH�>?Rf6�Rf{}@PLjE?NbE?2V7�NB]V7�|�RTE?2 @U5L?7�7�68UDE?RfeB7j>?[\2V7#YDAV{fRT]5k �.RT]wv.NPEJ2'[�@!>X7#>��.>X2W@PLJ7�YSYV@PEJ@�25@�e!7zE?N�vW7�UVLJNPE?7#[�EJ7�YS@Pk�@PRf]5>XEG[FNB]W[FAVLJL?7�]�E@![�[�7�>J>X7#>��D@P]WY�RTE�Rf>�E?2V7zUVLJNBk!LJ@B686�7�L � >�LJ7�>?U.NB]5>J@PvVRf{fR EIH�EJN�@�eBNBR}Y�YV7�@BYV{TND[\�D>��

cW@PRfLjEJ2VLJ7�@BY5>�@BL?7�YD7#>XRfkB]V7#Y x�N!L�A5]VRTU5L?ND[F7#>?>?NBL�6�@B[\2VRf]V7#>�� @B]5Y RTE�Rf>8{f7Fx¶E8x�N!Ljx�AVE?AVLJ7�|�N!L?��E?N@!YV@PUVE�EJ2V7�6�E?N�6jAV{ EJRTU5L?ND[F7#>?>?NBL�NB]57�>��

� ��qDo�qVm � ��o � � � � q &�n�q � � � � o � p�p � � o�n�� �´]'NBU.7�L\@0E?Rf]Vk�>?HD>IEJ7�6�>��W>?RTk!]5@P{}>G[�@P]SND[�[�AVLu@PE�@P]tH68N!6�7�]�E�YDAVLJRT]Vk 7�Ct7#[FADEJRTN!]���@P]5Y @PLJ7�E?N v.7wUVLJND[F7�>J>?7�Y |�R EJ2VNBADE�YV7�{}@�HB� �tRfkB]5@B{f>�@PLJ7�AW>X7�x�AV{�E?NRf68UV{f7�687�]�E�Rf]�E?7�LJLJAVUDEJ>��#x�NBL�7�CV@P68UV{f7 @B>?Ht]5[\2VLJNB]VN!A5>*� �®RT]�E?7�L?LJAVUDE\>����´]ZE?2V7�[FNB]�EJ7FCtE�NPxtx%@BRTL�E?2VLJ7�@!YV>��>?RfkB]5@B{f>�@PLJ7j~�AVRTE?7�]5@0EJAVL\@P{f{TH�LJ7�UVLJ7�>?7�]�E?7#YSvtHS7�e!7�]�EJ>��*|�2VRf[\2�[�@B]wvW78k!7�]V7�LJ@PE?7�Y'@0Ez@P]tH�6�N!687�]�E��cW@PRfL�E?25L?7#@BYV>�@P{}>XN N��.7�LyE?257wUWN�>?>?RfvVRT{fRTEIH®x�N!L�kB7�]V7�L\@0EJ7�Y e0@P{fAV7�>yE?N v.7'Rf68687�YDR}@0EJ7�{fH UVLJND[F7#>?>?7�Y �k!7�]V7�LJ@PE?7#Y�e0@P{fAV7#>�@B>J>XND[�Rf@PE?7�Y�E?N�7�eB7�]�EJ>�@BL?7ZvVLJN!@!YV[�@!>IE3E?Ny@B{T{�[FN!6�U.NB]57�]�EJ>��5@P]WY�@BL?7zLJ7�[�7�RfeB7#Y�vtHEJ2V7�6 |�R EJ2VNBAVEGYD7�{}@�HB�tEJ25@0E�R}>�YDAVLJRT]5kjEJ2V7�RfL�k!7�]V7�LJ@PE?RfNB]�U525@B>?7B�

� ������ ������������� �

13257�cW@PRfL 1325L?7#@BYV>�x�L\@P687�|�NBLJ�uR}> [FN!]!E\@PRf]V7�YRT]8@Z�B@�e0@�UW@B[\�0@Pk!7 ]5@B6�7#Y�� � �� ��� �����.�Ã132VLJ7�7�6�@PRf]Rf]�E?7�LXx%@![F7�>Z@BL?7�YD7��5]V7�Y�Rf] R E ��� ��� ��x�NBLz7�eB7�]�E\>������ ��� �� ������� � � �������� �8x�NBLZx%@PRfLZE?25L?7#@BYV>���@P]WY��� ���� ����������� ���� � � ��� � ���ux�NBL3x%@PRfL�>J[\2V7�YDA5{T7�LJ>��

��.0/ � ��5*;�>���; >@5�?�� A 25�´]�EJ7�L?x%@B[F7��� ��� ��v5@B>?R}[�@P{f{fH�YV7F�5]V7#>�EI|�N 687FE?25NtY5>�� NB]V7bx�NBL�25@!>X2W[FNDYDRf]Vk®7�eB7�]�E\>���@P]5Y NB]V7bx�NBL[�NB68U5@BL?Rf]VkjE?2V7�6 �VE?2V7#>X7ZEI|�Nj687�E?2VNDYV>�@BL?7�EJ2V7z68RT]VRf6A56�]V7�7�YD7#Yyx�N!L�RT68UV{f7�687�]!EJRT]5k�7�eB7�]!E\>��

Å�Æ�¹�Å Ä

Page 16: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � 9#`

�������������� ��������������������� �

�������������������������! "��#���� ��"��#���" %$'&����������(���� *)�����)�+���,��-�.$'&

/

� U.N!>J>XRfvV{f7ZRT68UV{f7�687�]�E\@0E?RfNB]�NBx�7�e!7�]�EJ>3R}>3EJ2V7�[F{}@B>J> ��� �� � ��� ��� �Rf]�|�25Rf[\2�E?2V7�H�@BL?7z[FN!]5>?RfYt�7�L?7#Y�@!>�>IEJL?Rf]Vk�>��

����������������0� �������1�������� ��32�����42%���� ��*�������� �

�����������0� �������1��",����� ��" �56&�����������0� �������1��������� -�!0� ����4��17��$ � ��,��"�� ��� �598(�:& /�����������4�� *)����4)�+���,��;�<$ � ��� ������=��,��"�� ��� �56>?)�����)�+���,��-�.$'& /����������@����������"������������:�! "��#����� ��"��#���� %$ �

���A�!����#���� ��4�%�� ������������B0� ������1�������� %$��� ������C�",����� ��" �5D>E����������:����!0� �������1�������� %$����%#���� F$�>G��,����� ��" �5%$'&

��� ������B���������-&/

/

��. - A :0? � 3 ?45�A 6���; >@5�?�� A 25�´]�EJ7�L?x%@B[F7ZNBx�x%@PRfL3E?25L?7#@BYV>3R}>�E?2V7Zx�N!{T{fN0|�Rf]Vk �

�������������� ������������H�������I�)������,�J4�� ������������

������,(�����K�LH�������0���)��,������=����)���,�������$'&������,��� ��� 6�EH����"��0���)���,������C����)��,�������%$'&������,��� ��"�D�EH�������0���)��,������C����)���,�������$'&������,����%��������,6�EH�������0��4)��,�������7���)��,������%$'&������,(��������2%�-�EH�������0���)��,�������7���4)��,�������%$'&

������,�����"������ ��;�<$'&������,�����"������ ��;�!���"��19,�����5%$'&

������,B#������D�EH������I�)�������,B �)������,�$'&������,B#������D�EH������I�)�������,B �)������,-M!���"��19,�����5%$'&

������,(1���������� ��-�N�������� B������� %$'&������,(1���������� ��-�G0� �������1��������� %$O&������,(1���������� ��-�N�������� B������� 6M! ���#���� 9������$'&������,(1���������� ��-�G0� �������1��������� 6MG "��#���" B������$'&

������,9��P����" 6�L�����"�� 9������� %$'&������,9��P����" 6�!0� �������19����"�� %$'&

¹�¹ °)( *,+.-�/

Page 17: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

9�_ ��������� � � ��� �

������,9��P����" 6�L�����"�� 9������� 6M!���"��1B,�����5%$O&������,9��P����" 6�!0� �������19����"�� 6M!������19,�����5�$'&

���4�����9�� ��� ����@���������� "��#���� ��������98 ����PB "��#����� 6�<$O& "��#���� ������� ���������-�L�������� B������� %$'& "��#���� ������� ���������-�!0� ������1�������� %$'&

/

�� o�p � & � ! � p ��p � qV��n� Q�7FEJ2VNDY � �� � � �������������� ���� � �zR}>�E?2V7Zv5@!>XR}[�6�7�E?2VNDY�7FCD7�[�ADE?7#YyvtH�EJ2V7�x%@PRfL�EJ2VLJ7�@BY ����Rf>E?2V78x%@BRTLz>J[\2V7�YVAV{T7�L�E?25@PE�L?AV]W>GEJ2V78E?25L?7#@BYÃ� %�H'YD7Fx%@BAV{TE��ÃEJ2V7�687FE?25NtY�YDNt7�>Z]5NPE?25RT]VkW��1325Rf>687FE?25NtY�[�NBLJL?7#>XU.NB]5Y5> EJN�E?2V7 � �� �z687�E?2VNDY�NPx >IE\@P]5YV@BLJY��!@�e�@E?25L?7#@BYV>��

� Q�7FEJ2VNDY ������ �� ��� ������������ � � �� � ��>XEJ@PL?EJ>G7FCD7�[�ADE?RfNB]'NPxME?257x%@BRTLGE?2VLJ7�@!YSvtH �D�u��EZ[�NBLJL?7��>XU.NB]WYV>3E?N�EJ2V7 ��� ��������687�E?2VNDY�NPx >IE\@P]5YV@BLJY�E?25L?7#@BYV>��

� Q�7FEJ2VNDY ��� � � � ��� �������������� ���� � ��>XE?NBUW>ZE?2V7�x%@PRfL�EJ2VL?7#@BY LJAV] vtH �D�S��E8[FNBLJLJ7�>?UWN!]5YV>�E?NE?2V7 ��� � � � �Z687FEJ2VNDY�NPx��B@�e0@jeB7�L\>?RTN!]'9B�D|�25Rf[\2�R}>3]VN0| YD7�UVLJ7�[�@PE?7#Y�

� Q�7FEJ2VNDY � ��� � ��� � � ��� ���� ������� ��� �� � �GR}> A5>?7�Y�EJN>?A5>XU.7�]WY8E?2V7�x%@PRfL�E?25L?7#@BY8LJAV]�vtH �$�t7FCD7F�[FADEJRTN!]j[�@P]v.7�L?7#>XAV687#YzvtH�[�@P{f{fRT]VkGE?2V7 � � �� ��� � � ������������������� � 687FEJ2VNDY����E [�NBLJL?7#>XU.NB]5Y5>E?N8EJ2V7 � � � � ��� ������687FE?25NtY�NBx �!@�e�@jeB7�LJ>?RfNB]'9Z|�2VR}[\2�Rf>3]5N0| YD7�UVL?7#[�@PE?7�Y��

� Q�7FEJ2VNDY � � �� ��� ��� �������� ��� � ���� � ��L?7#>XAV687#>�EJ2V7yEJ2VL?7#@BY�MU5L?7�e�RfNBAW>X{fH�>?A5>?UW7�]5YD7#Y vtH @[�@B{T{ EJN � ��� � ���� � ��� �������� ��� � ���� �!�Z��E[�NBLJL?7#>XU.NB]5Y5>�EJN�EJ2V7 � ��� � ��� � � ��687FEJ2VNDYbNBx3�!@�e0@eB7�LJ>?RTN!]'9Z|�2VR}[\2�Rf>3]VN0| YD7�U5L?7#[�@0EJ7�Y�

��� ��� p0qDo �%� �� Q�7FEJ2VNDY � � � � �� � � ������Rf>�EJ2V7z687FEJ2VNDYyEJN�v.7�[�@B{T{f7�Y�vtH�E?2V7Zx%@BRTL�EJ2VL?7#@BY�E?N�[FNtN!UW7�LJ@PE?7G|�RTE?2NPEJ2V7�L�E?2VLJ7�@!YV>!��RTE3Rf>�E?257uv5@!>XR}[�687#[\25@P]VR}>?6 NBx�E?257Gx%@BRTL�E?2VLJ7�@!YV> x�LJ@B6�7�|�N!L?�*����E3[�NBLJL?7#>XU.NB]5Y5>E?N ��� � ��� ����NPxM>IE\@P]5YV@BLJYyE?2VLJ7�@!YV>��

� %�H�[�@P{f{TRf]Vk�687FE?25NtY ��� � � ���� � ��� � ��� � � �yEJ2V7�x%@BRTLzEJ2VLJ7�@BYbx%@B{T{}>�@B>?{f7�7�U YDA5L?Rf]VkS] UV25@!>X7#>��132V7687�E?2VNDYw[�NBLJL?7#>XU.NB]5Y5>3E?N�E?2V7 ��� � � � � � ��� � ��687�E?2VNDYSNBx >IE\@P]5YV@BLJY�EJ2VL?7#@BYV>��G��[FE?A5@B{T{fHB���� � � ������ ��� � �GR}>�@j{fNtNBU�E?2W@0E�L?A5]5>���� � � ���� � ����� ��E?Rf6�7#>��

�� �)�*�)��� ��p � qV��n� Q�7FEJ2VNDY�� � � �� ��� ��� �� ����� � �Z|�@BR E\> x�N!L�E?2V7ZEJ7�LJ6�Rf]5@PE?RfNB]�NBx�E?257ux%@BRTL3EJ2VLJ7�@BY �*����E�[�NBLJL?7��>XU.NB]WYV>3E?N8687FEJ2VNDY�� � � �����NBx >XEJ@B]5YV@BLJYyE?2VLJ7�@!YV>��

� Q�7FEJ2VNDY�� � ���� ��� ��� �� � ��� ��� � ��� � � ��|3@PRTEJ>Ãx�N!L�EJ7�LJ6�Rf]5@PE?RfNB]zNPxDEJ2V7�x%@BRTL�E?25L?7#@BY �ZYDAVLJRT]Vk@0E�68N!>XE ��UV25@!>X7#>�� ��EG[�NBLJL?7#>XU.NB]5Y5> EJN86�7�E?2VNDY�� � ���� � ����� ��NPx >IE\@P]5YV@BLJY�E?25L?7#@BYV>��

Å�Æ�¹�Å Ä

Page 18: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � 9,"

� �@��� p�qVo �������� � ! �C� o#n� Q�7FEJ2VNDY � � ������ � ��� �� � � � � ��kB7�]57�L\@0E?7#>�7�eB7�]�E �5����{f{�x%@PRfLzEJ2VL?7#@BYV>Z|3@PRTE?Rf]Vk�x�NBL �w@PAVE?NP�6�@0E?R}[�@B{T{fH�L?7#[F7�RfeB7zRTE��*v.7�[�@PA5>?7�RTEuR}>�vVLJN!@!YV[�@!>IE�vtH�E?2V7x%@PRfLu>J[\2V7�YDA5{T7�L�L?A5]V]VRf]VkyEJ2V7zE?25L?7#@BYÃ���[�EJA5@P{f{TH!��7�eB7�]!E\>8[FNBLJLJ7�>?UWN!]5Y 68NBLJ7�NBL8{T7#>?>�EJN [FNB]WYDR EJRTN!] e0@BL?R}@PvV{f7�>�NBx�K EJ2VL?7#@BYV> � a ���3@P]WY� � ������ � ��� �� � � � ��R}>ÃEJ2V7�[FN!AV]�E?7�LJU5@BLXEÃNPx � ��� ������� ����� ����� ����� � � � �.�WQ�7�E?2VNDY � �������� � ��� � � �� ���� ��Rf>G>XRf68RT{}@PL#� �jv.7�Rf]Vk�[FNB]te!7�L?E?7�YyE?Ny@B]�7�eB7�]�E#�

� Q�7FEJ2VNDY � � ������ � ��� �� � � � � ���� � � ��� � � k!7�]V7�LJ@PE?7�> ��|�R EJ2 �G@!>*kB7�]V7�L\@0EJ7�Y�e0@P{fAV7B� Q�7FEJ2VNDY� � ������ � ��� � � � � � � ���� � ����� � �zRf>�>?Rf6�Rf{}@PL#���vW7�RT]5ky[FNB]te!7�L?E?7�YyE?N�@P]�7�e!7�]�E��

l � q � o �)� � � ! �@� o�n� Q�7FEJ2VNDY ���� � �� � ��� � � ��|�@BR E\>.x�NBL �W����E�[�NBLJL?7#>XU.NB]WYV>WE?N�EJ2V7 x�AV]5[FE?RfNB]�[�@B{T{f7�Y � ��� ������� � ��� ����� � �NPx UDE?25L?7#@BYV>���Q�7FEJ2VNDY �� � � � � � � ���� � � �Rf>�>?Rf6�Rf{}@PL#���vW7�RT]5k8[�NB]teB7�LXEJ7�YyE?Ny@P]�7�e!7�]�E��

� Q�7FEJ2VNDY �� � � �� �� ��� � � � � ��� � � � |3@PRTEJ>�x�N!L'7�e!7�]�E � YDAVLJRT]5k @0E'68N�>IE � UV25@!>X7#>�� ��E[FN!L?LJ7�>?UWN!]5YV>jE?N EJ2V7�x�AV]5[FE?RfNB]º[�@P{f{T7#Y � ��� ������� � ��� ����� � ��� � � �'NPxuUVE?2VLJ7�@!YV>�� Q�7FEJ2VNDY���� � �� ��� �� � � � � � � � � � ��R}>�>XRf68RT{}@PL#���v.7�Rf]Vky[FN!]teB7�L?E?7#Y�EJN8@B]�7�eB7�]�E��

� �@��� p�qVo � � �zq &�� � n

� Q�7FEJ2VNDY ��������� � � ����� �� ��� � � ��L?7�E?AVLJ]5>�E?257�]57FCtEMe�@B{TA57�NBx �Zk!7�]V7�LJ@PE?7�YYDAVLJRT]Vk�EJ2V7�[FAVLJL?7�]�EUV25@!>X7!� ��@B{TAV7��������zR}>�LJ7FEJAVL?]57�Y�R xÃEJ2V7�e0@P{fAV7�k!7�]V7�LJ@PE?7�Y�|3@B>���� � �5� ��@P{fAV7 ��� � ��R}>ML?7�E?AVLJ]V7#YR x3]VN�]V7�| kB7�]V7�L\@0EJ7�Ywe0@B{TAV7�R}>z@�e�@BRT{}@Pv5{T7!���´]'EJ2VR}>Z{f@!>IE�[�@!>X7!� ����������� � ���yL?7�68@BRT]W>uv5{TND[\�B7#YAVUbE?NyEJ2V787�]5Y'NPx�[�AVLJL?7�]!E�UV25@!>X7!�*@B]5YwLJ7FEJAVLJ]5>ZYDAVLJRT]Vk�]V7FCtEZUV25@!>X7 � Rf]5YD7�7�YÃ��@Bv5>X7�]5[F7jNPx�@e0@P{fAV7ZRf>3Rf68UWN�>?>?RTv5{T7ZEJN8YV7�[FR}YD7Zv.7Fx�NBLJ7Z7�]5Y�NPx�E?2V7�[�AVLJL?7�]!E3UV25@!>X7!�V@B>3NBE?2V7�L?|�R}>X7�RTEG[FNBA5{fY�vW7UVLJNtYVA5[F7#YyvtH�@zE?25L?7#@BYy>J[\2V7�YVAV{T7#Yy{}@0EJ7�L�RT]�>?@B6�7uUV25@!>X7 ����Q�7FEJ2VNDY ����������� � ����� � � ���� � � �Rf>G>XRf68RT{}@PL#���v.7�Rf]Vk�[FNB]te!7�L?E?7�YyE?Ny@B]�7�eB7�]�E#�

��.�� A :0? 1&243�576�8"9D5�? ��; >@5�?�� A 25�´]�EJ7�L?x%@B[F7ZNBx�x%@PRfL�>J[\2V7�YDA5{T7�LJ>3R}>�E?2V7Zx�N!{T{fN0|�Rf]Vk �

�������������� ������������H�������0��4)��,��������J��� ������������

������,��������,������� -�L�������� ��������� %$O&������,��������,������� -�!0� ����4��1B������� �$'&������,��������,������� -�L�������� ��������� 6MG "��#���" B������$'&������,��������,������� -�!0� ����4��1B������� -M! "��#���� 9������$'&

������,��� ��� 6�EH����"��I�)�����,9 �)�������,%$'&������,��� ��"�D�EH������I�)�������,B �)������,�$'&������,����%��������,6�EH�������I�)������,B �)�����,%$'&������,(��������2%�-�EH�������I�)������,9 �)�����,%$'&

/

¹�¹ °)( *,+.-�/

Page 19: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

9 % ��������� � � ��� �

� Q�7FEJ2VNDY � ��������� ���� �� ��� � � ��v5L?N�@BYV[�@B>XEJ> � EJN @B{T{Z7�Ct7#[FADEJRT]5k x%@PRfL�E?2VLJ7�@!YV>���Q�7FEJ2VNDY� ����� ��� ���� � ���� � � � �ZRf>�>XRf68RT{}@PL#� ��vW7�RT]Vk�[FN!]�e!7�L?E?7#Y�E?Nj@B]�7�eB7�]�E#� Q�7�E?2VNDY � ����� � � ���

�� � ��� � � � �� � ����� � ��vVLJN!@!YV[�@!>IE\> �5�5|�R EJ2 ��@B>3k!7�]V7�LJ@PE?7�Y�e0@P{fAV7B�3Q�7FEJ2VNDY � ����� � � ���

�� ��� �� � � � ���� � � ��� � ��R}>�>XRf68RT{}@PL#���v.7�Rf]Vky[FN!]�e!7�L?E?7#Y�E?Ny@B]�7�eB7�]!E#�

� Q�7FEJ2VNDY ��������� ��� ��� �� ����� � �3>IE\@PL?EJ> �*��132V7�[�@P{f{ � ��� ����� � ������������ ��� � ��� ��R}>�7�~�AVRfe!�

@P{f7�]�E3E?N ��� � ������� ����� � ��� ��� � ���� ���

� Q�7FEJ2VNDY ��� � � � ��� ��� �� ����� � ��>IEJNBU5> �*�3132V7�[�@B{T{ � ��������� �������� � � � ��� ����� ��R}>�7#~!A5RTe0@0�

{T7�]�E�E?N ��� ��������� � � � � ������� � ���� ���

� Q�7FEJ2VNDY � � � � ��� ��� ��� �� �� � ��� � ��>XA5>?U.7�]5YV> �.��132V7 [�@B{T{ � ����������� ���� ��� � � � � � ��� � ��� �

Rf>�7�~�AVRfe�@B{T7�]�E�EJN�E?2V7�[�@P{f{ ��� ������� ��� � � � � � � ������� � ���� �t�

� Q�7FEJ2VNDY � � �� ��� ��� ��� �� ����� � ��L?7#>XA56�7#>.E?2VLJ7�@!Y �.��132V7�[�@B{T{ � ����������� ��� � � �� � � ��� ����� �

Rf>�7�~�AVRfe�@B{T7�]�E�EJN ��� ������ � � �� ��� � ��� ��� � � �� ���

��.�� A :0? � 3 ?45�A 6 � 9DA ECEcW@PRfL EJ2VLJ7�@BY5> @PLJ7GRf]5>XEJ@B]5[F7uNPx�EJ2V7 ��� ��� �� �����z[F{}@B>J> |�2VR}[\2y7�C�EJ7�]5Y5>�EJ2V7�>XEJ@B]5YV@BLJYy[�{f@!>?> �� �����.�� {}@B>J> ��� ��� �� �����jRT68UV{f7�687�]�E\>�RT]�EJ7�L?x%@B[F7 ��� �� �� ����� � � � ���� � ���Z@B]5Y�25@B>�EI|�N�[�NB]5>XE?LJA5[FE?NBL\>!�

���������� H������I�)�������,6�<$���������� H������I�)�������,6�EH����"���������%$

� c�RTL\>IE�[�NB]5>XE?LJA5[FE?NBLÃR}>ÃA5>?7�Y�EJN�[FLJ7�@PE?7M@�x%@PRfLÃE?25L?7#@BY�|�R EJ2ZE?2V7�YD7Fx%@BAV{ E�7�68UDEIH � � � ��� �������������� � �� �687FE?25NtY�����EG[FN!L?LJ7�>?UWN!]5YV> E?N8EJ2V7z[FNB]W>IEJL?A5[FE?N!L�|�RTE?25NBADE�U5@BLJ@B687FE?7�L3NPxM[F{}@B>J> �� �����W�

� �t7�[�NB]5Y [�NB]5>XE?LJA5[FE?NBL�[FLJ7�@0EJ7�>y@ x%@PRfL�E?25L?7#@BY x�LJNB6 @ x%@PRfL�N!vDOI7�[FE � >?7�7b>X7#[�E?RfNB] _W� %��8kBRfeB7�]@B>z@BL?k!AV687�]�E��8��Ej[�NBLJL?7#>XU.NB]5Y5>�EJN�E?2V7y[�NB]5>XE?LJA5[�EJNBLZ|�RTE?2 @��� � � ��� ����U5@BLJ@B6�7�E?7�L�NBx3[�{f@!>?> �� �����.�

��.�� A :0? 1&243�576�8"9D5�? � 9DA ECEcW@PRfL�>?[\257�YDAV{f7�L\>3@PLJ7ZRT]5>XEJ@B]5[F7#>3NPx [F{}@B>J> � � �������������� �����|�25Rf[\2�25@B>�NB]V7z>?RT]Vk!{T7z[�NB]5>XE?LJA5[�EJNBL �

���������� H�������0���)��,������6�.$

u>XA5@B{T{fHB� @�x%@PRfL�>J[\2V7�YDA5{T7�L�Rf>[FLJ7�@0EJ7�Y @0E>XEJ@BLXEJRT]5k�NBx�EJ2V7y6�@PRf] @PUVU5{TR}[�@PE?RfNB] 687FE?25NtY���@B]5Y�Rf>AW>X7#Y�{}@0EJ7�L3E?Ny>XEJ@BLXE3x%@BRTL3EJ2VL?7#@BYV>�[�L?7#@0EJ7�Y�YVAVL?Rf]Vk87FCD7#[FADEJRTN!]��

Å�Æ�¹�Å Ä

Page 20: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � 9 �

��.�� A :0?���; >C57?�� A 25�´]�EJ7�L?x%@B[F7 ��� �� Rf>8EJN vW7SRf68UV{f7�687�]�E?7#Y v�H NBvDOI7#[�E\>8kBRfeB7�] E?N EJ2V7Sx%@BRTL8EJ2VL?7#@BY [FN!]5>IEJL?AW[�E?N!L�� ��E[�NBLJL?7#>XU.NB]WYV>�EJN8E?2V7 �� � � �� � �RT]�E?7�LXx%@![F7ZNPx >IE\@P]5Y5@PL\Y��!@�e0@�EJ2VL?7#@BYV>��

�������������� ������������H�������

������,(�����K�LH�������0���)��,������=����)���,������-MEH������I�)�������,= �)������,%$'&/

� 132V7 � �� ��� �������������� � �� � � ��� �� �� ����� � �z687FE?25NtY�R}>�E?2V7Zv5@!>XR}[G687�E?2VNDY�7FCD7�[�ADE?7#Y�vtHx%@PRfL3E?2VLJ7�@!Y �*�VLJAV]�vtH�E?2V7Zx%@BRTL�>J[\2V7#YDAV{f7�L �D�

��.�� A :0?�� ?��&257ECE� x%@BRTL�U5L?ND[F7#>?>�[�NBLJL?7#>XU.NB]WYV>�EJNy@8>IE\@P]5YV@BLJY�UVLJND[F7�>J>�[FLJ7�@PE?7#Y�vtH�EJ2V7�[�@B{T{ ��� ��� � � � ���� � �GNBx [�{f@!>?>�� � ��� �W��|�R EJ2 E?257�YDR��*7�LJ7�]5[�7yE?2W@0E8R E�[�@B] vW7�>J@0x�7�{fH RT68687�LJkB7#Y Rf] E?257�x%@BRTL�x�L\@P687�|�NBLJ�*�bc5@BRTLU5L?ND[F7#>?>?7�>u@PLJ7Rf]5>XEJ@P]W[F7�>�NBx�[F{}@B>J> ��� ����� ����� ���j|�2VRf[\2b7FCtE?7�]5YV> ��� ��� �� � ��� �5RTEZ25@B>�NB]57�>?RT]5kB{f7[�NB]5>XE?LJA5[FE?NBL �

H������������������:�!0� �������1C��42�2%�"��,%$

132578>XE?LJRf]Vk�RT] @PLJkBAV687�]!EZR}>zRT]�EJ7�LJUVL?7�E?7#Y'@B>z@�[�NB686�@P]5Y�@P]5YbRTEZR}>zU5@BLJ>?7�Y'7FCV@B[FE?{fHSRT]�EJ2V7y>?@B687|3@�H�687FEJ2VNDY �� � ��� �

���� ���ZYDNt7�>��

� � ������F���

1325L?7�7�7FCV@P68UV{f7�>�@BL?7uYD7�>J[FLJRTv.7�Y���132V7��5LJ>XE N!]V7�Rf>�@zeB7�L?H�>XRf68UV{f7�vVADE�[�NB68UV{f7FEJ7�7FCV@P68UV{f7�Rf]�|�2VR}[\2EI|�N�x%@PRfLZE?2VLJ7�@!YV>z@PLJ78L?A5]��y�´]�E?2V7y>?7�[�NB]5Yb7FCV@B6�U5{T7!��NB]578YV7F�5]V7#>�@�UVLJ7�7�68UDEJRTN!] 6�7#[\25@P]5Rf>?6 E?N>XE?N!Uw@8x%@PRfLuE?2VLJ7�@!Y�|�2V7�]'@B]S7�e!7�]�EGv.7�[FN!687�>uUVL?7#>X7�]�E���132V7E?2VRfLJYw7FCV@P68UV{f7[FN!]5>?RfYD7�LJ>�kB7�]57�L\@0E?7#Ye0@B{TAV7#>�@P]5Y�YD7��5]V7�>G@j|3@�H8E?N�U5L?ND[F7#>?>�EJ2V7�6��

�&.0/ � 579 9 ��� � ?4906 ���&A���� 9D5�G7�LJ7�Rf>@S>X6�@P{f{�7�CD@B68UV{T78NBx�@S[�NB68UV{f7FEJ7�UVL?N!kBL\@P6 EJ25@0ELJAV]5>�EI|�N�x%@PRfLzEJ2VL?7#@BYV>���132V78�WLJ>XE�NB]V7[�HD[F{fRf[�@P{f{TH�UVLJRT]�E\>�� ��� � � � ���B�Ã@P]5YwE?2V78>X7#[FN!]5YSNB]57UVLJRT]�E\>�� ���������B�G132V7�6�@PRf]'687FEJ2VNDYwNBx�E?2V7U5L?N!kBL\@P6 �5L\>IEG[�L?7#@0E?7#>3@x%@BRTL�>J[\2V7#YDAV{f7�L#�V@P]5Y�E?2V7�]S>IE\@PL?EJ>�E?257ZEI|�N�E?25L?7#@BYV>3Rf]�RTE��

�32������ ������� �)�������,D>��:&

�������*0�5(�� �����,��*H�������I�)������,�

0� ������1 2O�"16&����������0��56�!0� �������1 2O��1�$ � �)%���:> 2O��198 2O��16& /

¹�¹ °)( *,+.-�/

Page 21: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

9 � ��������� � � ��� �

����������*������,�����D�EH�������0���)��,������C����)���,�������$ �P)%���;�E �������$ �

0�5��" ���2 >G���� D>?�������� 6� 2F��1%$'&����������� ��-�<$'&

//

/

�����������������������������������,�

�����������" �� ����*������, 2%�����K�!0� ������1���������1���$ �H�������0���)��,������=����)��,��������8@����P(H�������0��4)��,�������6�<$'&����)���,������6>!�� ��� 6�N����P70�56��.)�������;M��$�$'&����)���,������6>!�� ��� 6�N����P70�56��<P�������,��� "����$�$'&

//

�t7�eB7�LJ@B{.U.NBRf]�EJ>�@BL?7�Rf6�U.NBL?EJ@B]�E!�

� �uADE?U5ADEMRf>�@P]jRT]D�W]VR EJ7�{fR}>IE NPx � ��� � ��� � ���������M6�7#>?>J@Pk!7�>���132VR}>�Rf>�vW7#[�@BA5>X7�E?257 �5L\>XE�E?25L?7#@BYÃ�@0x¶EJ7�L�UVL?Rf]�E?Rf]Vk��5L\>XEuU5@BLXE�NPxME?257687�>J>?@BkB7!�W@P{f|3@�Ht>�{T7#@�eB7�>�E?2V7jUVLJNt[�7�>J>XN!LG@P]WY�E?2tA5>u{T7�EJ>GE?2V7>X7#[FN!]5YyEJ2VLJ7�@BY�UVLJRT]�E�{}@B>XE�U5@PL?E�NPx R E#�

� �uADE?U5ADE�Rf>G@P{f|�@�HD> E?2V7�>J@P687'�tEJ2V7zUVLJNBk!LJ@B6 Rf>�EJNPEJ@B{T{fH�YD7�E?7�L?68Rf]VRf>XE?R}[P�

� � R EJ2VNBAVEyE?2V7 ��� � � ���� � ��� ��[�@B{T{�Rf] �����*� E?2V7SUVLJNBk!LJ@B6 |�N!AV{}Y [�Ht[�{T7!��U5L?Rf]�E?Rf]Vk � � � � � � �x�NBLJ7�e!7�L �!EJ2VR}>�Rf>3v.7�[�@PA5>?7ZE?257Zx%@PRfL3x�LJ@B6�7�|�N!L?�8R}>�v5@!>XR}[�@B{T{fHy[FNtNBU.7�L\@0EJRTe!7B�

u>XRf]Vk8E?257�� � ���Rf]!EJ7�L?x%@B[�7B�tUVLJ7�etRTN!A5>3UVLJNBk!LJ@B6 [�NBAV{}Y�vW7z7#~�AVRTe0@B{T7�]!EJ{TH�|�L?RTEXEJ7�]�@B>!�

�32������ ������� �)�������,D>��:&

�������*0�5B�32������2%�"�� ��*H����"��

0� ������1 2O�"16&����������0��56�!0� �������1 2O��1�$ � �)%���:> 2O��198 2O��16& /

����������*������,�����D�EH�������0���)��,������C����)���,������-MEH������I�)�������,= �)������,%$ �P)%���;�E �������$ �

0�5��" ���2 >G���� D>?�������� 6� 2F��1%$'& �)������,D>!�����"������ ��-�<$O&

//

/

�����������������������������������,�

Å�Æ�¹�Å Ä

Page 22: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � 9#a

�����������" �� ����*������, 2%�����K�!0� ������1���������1���$ �H�������0���)��,������=����)��,��������8@����P(H�������0��4)��,�������6�<$'&����)���,������6>!�� ��� 6�N����P=H������I�)�������,6�N����P=0��56� �.)��������;M ��$�$$'&����)���,������6>!�� ��� 6�N����P=H������I�)�������,6�N����P=0��56� �<P�������,��� �����$�$�$O&

//

Qw@PRf]yUWN!RT]�E�Rf> E?25@PE���RT]�E?2VR}>�|�@�H!�![F{}@B>J> �����8[�@P]�7FCtE?7�]5Yy@P]�NPE?257�L�[�{f@!>?>!�!E?2VR}> R}>�]VNPE�UWN�>?>?RTv5{T7�|�RTE?2EJ2V7Z�5L\>IE�UVLJNBk!LJ@B6��t@!>�6AV{TE?RfUV{f7�RT]52V7�LJR E\@P]5[�7ZRf>�x�N!L?vVR}YVYD7�]�RT]S�B@�e0@5�

�&. - 1�> � � � :0; < � 3 ?,5�A 6"E :D>@3 � ��57; >,E�u]57�YD7F�5]57�>G@�[�{f@!>?> � � ������|�2VR}[\2�7FCtE?7�]5YV> ��� ��� �� �����W��|�RTE?2w@P]w@!>?>?ND[FR}@0EJ7�Y�[F{}@B>J> � � � � � ����*�� � �����8LJAV]5>�@�687FE?25NtY���[�@P{f{f7�Y ����� �� � � ���W�V@B]5Yw>XEJ@BLXE\>G@P]'RT]5>XEJ@B]5[F7jNPx � ��� �� � � ���|�2VRf[\2b>IEJNBU5>EJ2V7 � � � ����E?25L?7#@BY�|�2V7�]S@P]�7�e!7�]�E�vW7#[FN!6�7#>�UVLJ7�>?7�]�E�� �G7�LJ7�R}>�YD7��5]VRTE?RfNB]�NPx � ������� �

�32������ ������� �)�������,D>��:&

���������������� ���� ���*��� �����,��*H������I�)�������,�

0� ������19������� 6&

���������� ���� ���;�!0� �������1B������� %$ � �)%���;>E�������� 98*������� -& /

����������*������,B��"�� ��������,6�EH����"��0���)���,������7����)���,�������$ ��/

����������*���4�����*������,�����D�EH�������0���)��,������C����)���,�������$ �H������I�)�������,C���"�� �������98 ����P9+��"�� ���������6�G����"�� 6ME �)�����$'&����)���,������6>!�� ��� 6� ��"�� ���������%$'&��"�� ������,-� ����)���,�������$'&����)���,������6>!�� ��"�D� ��"�� ��������$'&

//

������� +��"�� ��������9�� �����,��*H�������I�)������,�

H�������I�)������,=��"�� ������,-&0� ������19������� 6&

�����������+����� ���������6�!0� ������1�������� 6MEH����"��I�)�����,=��"�� �������,%$ � �)%���;>L������� 98�������� -& �)%���:>!��"�� ������,�8(���"�� ������,6&

/

����������*������,�����D�EH�������0���)��,������C����)���,�������$ ���P����� -�G������� %$'&����)��,������D>G�� ��"�K�!��"�� �������,%$O&

¹�¹ °)( *,+.-�/

Page 23: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

gBh ��������� � � ��� �

//

132VR}>�7�CV@P68UV{f7�>X2VN0|�> 25N0| RTE v.7�[FN!687�>MU.N!>J>XRfvV{f7B�!A5>XRf]Vk�v5L?N�@BYV[�@B>XE�7�eB7�]�E\>��BE?NzUVLJNBk!LJ@B6 >XN!UV2VR}>I�EJRf[�@0EJ7�Y�A5>X7�LX�´YD7��5]V7�Y�7FCD7#[FADEJRTN!]�>XE?L\@0EJ7�kBRf7�>�x�N!L3x%@PRfL3E?2VLJ7�@!YV>��

�&.�� � 57;�5�?,AB>@576�� A 908�57E��>?[�@P]V]V7�LzRf>j@�E?2VLJ7�@!Y |�2VR}[\2�R}>@!>?>?ND[FR}@0EJ7�Y'E?NwN!]V7�7�e!7�]�E@P]5Y |�25Rf[\2 LJAV]5>@S>?U.7�[FR}@P{�[�@P{f{fv5@B[\�687�E?2VNDYw7#@B[\2SEJRT6878@ye0@P{fAV7�Rf>ukB7�]V7�L\@0EJ7�Y�x�N!LGEJ2V7�7�eB7�]�E��z132V7�]VNPEJRTN!]wNPx�@�>?[�@P]V]57�Lu[�NB687�>Gx�LJNB6EJ2V7�]V7�| eB7�LJ>?RTN!]®NBxGE?257 �tAVk!@BL � A5vW7#> �f9B9 ��x�L\@P687�|�NBLJ�*� �D[�@P]V]V7�LJ>�6jA5>IEy7�CtE?7�]WYV>�E?2V7�x�N!{T{fN0|�RT]5k������� � ��8[F{}@B>J>��DLJ7�YV7F�5]VRf]Vk�E?257�� � � �� � ����687FE?25NtY �

����������������0�����������(��� �����,��*H�������I�)������,�

0� ������19������� 6&����������0�����������-�!0� ����4��1B������� �$ � �)%���:>E������� 98������� 6& /

������,����������������K�G "��#���" =����#�$ ��/

����������*������,�����D�EH�������0���)��,������C����)���,�������$ �P�)%���-�L �������$ �

��P����� 6�G�������� %$O&P)����-�E ������$ �

"��#���" 9�"��#�8@����� ������"���;�G������� %$'&��� �!����#�8�8 �������$ ���������K&�������"�������K�!����#�$'&

//

//

��E�7�@B[\2ZUV2W@B>?7B�0@P{f{Bk!7�]V7�LJ@PE?7�Yue0@P{fAV7�>�@PLJ7MUVLJNt[�7�>J>X7#YZYDAVLJRT]VkGR E �06�N!L?7�N0eB7�L���@Px¶E?7�L�{}@B>XE�e0@P{fAV7�UVLJND[F7�>J>X�Rf]VkW�V[�@P{f{ÃNPx������ ����� � � �vV{fND[\�t>��D|3@PRTE?Rf]Vkx�N!L�]V7FCtE�UV2W@B>?7uEJN�L?7�E?AVLJ]�E?2V7���� � �je�@B{TA57B�

� ��� � �� ��� � � ���� � �� ������ � �

� 257�]'[�NB]5>?RfYV7�LJRT]Vk8EJ2V7 � � ������[F{}@B>J>�NBx >X7#[�E?RfNB] "V� gV�5N!]V7j[�@P]w>?7�7zEJ25@0EuE?2V7�L?7�R}>u]VNyLJ7�@P{�]V7�7#Y�x�NBLAW>XRf]VkSEI|�NwYDR}>IEJRT]5[FEEJ2VL?7#@BYV>��S�´]5YD7�7�YÃ� RTEj|�NBAV{}Y�vW7�UWN�>?>?RfvV{T7yE?Nw687�LJkB7yE?2V7yRf]5>XE?LJA5[�EJRTN!]5>�NBx�E?2V7[�NB]�E?LJNB{f7�L�|�RTE?2�EJ2V7�N!]V7�>�NBx E?2V7[�NB]�E?LJNB{f{f7�Y�6�7�E?2VNDY �.Rf]�E?2VR}>�|3@�HB�DEJ2V7 � � ��� ��E?2VLJ7�@!Y�|�NBA5{fY�@P{}>?NEJ7�>XEux�N!LGEJ2V7�7�eB7�]�E�UVLJ7�>?7�]W[F7B�Ã@PEG�VCD7�Y'68NB687�]�EJ>���>J@�HB�!OIA5>IEzv.7Fx�N!L?7j7FCD7�[�ADE?RfNB]bNPxME?257 ��� � � ���� � �687�E?2VNDYÃ�M132tA5>��PAV]V]V7#[F7#>?>J@PLJH�[FN!]!EJ7FCtE >?|�R E\[\2VRT]5k!> |�NBAV{}Yv.7G>J@�eB7#YÃ�0|�2VR}[\2�|�NBA5{fYj{T7#@BYV>ME?Nz@Z68NBLJ77��y[FRf7�]�EG7FCD7#[FADEJRTN!]����tAW[\2w@�>XN!{TADEJRTN!]SRf>�NPx�[FN!AVLJ>?7Z68NBLJ7�YDR �y[�AV{ EuE?N�UVLJNBk!LJ@B6�@P]WY�{f7�>J>�68NDYDAV{}@PL@!>�E?2V7�L?7ZR}>�@8]V7�7#YyEJN8E?L\@P]5>Xx�NBLJ6 E?257�[FNDYD7ZNPx�E?2V7�[�NB]�E?LJNB{f{f7�Yy687�E?2VNDYÃ�

Å�Æ�¹�Å Ä

Page 24: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � gV9

�&.0/ � 5�A 2 >,: � 5 � ? � < ?,A � � :0; <13257Zx%@PRfL�x�L\@P687�|�NBLJ��N �*7�L\>�@8|3@�HyE?Ny[�NB]5[�RT{fR}@0E?7z7��y[FRf7�]5[�H�@B]5Y�UVL?N!kBL\@P6868RT]5k�7#@B>?7ZE?2VLJNBA5kB2�E?2V7AW>X7zNBx�LJ7�@![�E?RfeB7ZUVLJNBk!LJ@B6�>��M;�7#@B[�EJRTe!7ZUVL?N!kBL\@P6�>3@PLJ7Zv5@B>?Rf[Z7�{T7�687�]�EJ>�NBx�EJ2V7�BAV]VRfNBL3x�L\@P687�|�NBLJ� � _ �|�25Rf[\2�R}> @�>?7FE�NPx��B@�e0@z[�{f@!>?>?7�>�x�N!L LJ7�@B[FE?RfeB7�UVLJNBk!LJ@B686�Rf]VkW���PA5]VRTN!L�UVLJNBk!LJ@B68>M@BL?7�AW>?@BvV{T7�E?2VLJNBAVk!2@B]��GK�� [�@B{T{f7�Y��BL � " ��� � NB68U5@BL?R}>XN!]�NPxÃEJ2VL?7#@BYV>�@P]WY�NPxB�DAVk!@BL � AVv.7�>��t@zx�L\@P687�|�NBLJ�j[�{TN�>X7�{TH8LJ7�{}@0E?7#YEJNu�BAV]VRfNBL#�#[�@P]�v.7Mx�NBA5]5YzRf] � g ����132V7 � 7�vj>XRTE?7 �f9�_��t[�NB]�EJ@BRT]5>�L?7�x�7�LJ7�]5[�7�>ÃEJN�LJ7�@B[FE?RfeB7MUVLJNBk!LJ@B686�Rf]VkW�

;�7#@B[FE?RfeB7U5L?N!kBL\@P6868RT]Vk�R}>�v5@B>?7�YwNB]SEJ2V7j]5NPE?RfNB]'NPx�@B]wRT]W>IE\@P]�E�|�25Rf[\2wR}>Z>X2W@PLJ7�Y�vtHS@P{f{ [�NB]D�[�AVLJL?7�]!E�[FNB68U.NB]V7�]�EJ>�� ;�7�@![�EJRTe!7wUVLJNBkBL\@P6�>�@BL?7w6�@!YD7wNPx�vW@B>?Rf[SRf]5>XE?LJA5[�EJRTN!]5>���|�R EJ2 >?7�6�@P]�E?R}[�>YV7F�5]V7#YSRf]wE?7�L?6 NBx RT]W>IE\@P]�EJ>���c5NBLu7FCV@P68UV{f7B�*Rf]5>IEJL?AW[�E?RfNB] ��� � � ���NPx��BAV]VRfNBLZ>XE?NBUW>�7FCD7#[FADEJRTN!]Sx�NBLEJ2V7Z[FAVLJL?7�]�E�Rf]5>IE\@P]�E��D@B]5Yy7�Ct7#[FADEJRTN!]�@0E3]V7�C�E3Rf]5>IE\@P]�E3L?7#>IE\@PL?EJ>�Rf]�>?7�~�AV7�]5[F7Gx�L?N!6 R E#��MeB7�]�E�v5@!>X7#YU5L?N!kBL\@P6868RT]VkGRf> U.N!>J>XRfvV{f73RT]��PA5]VRTN!L!�B7�eB7�]�EJ> @PLJ7�Rf]5>XEJ@B]!E\@P]V7�NBA5>?{fH�v5L?N�@BYV[�@B>XE!��@P]�7�e!7�]�E kB7�]57�L\@0E?7#YYVAVL?Rf]Vk8NB]57�Rf]5>XEJ@B]!E�R}>�LJ7�[F7�RTe!7�Y�v�H�@P{f{�[FN!6�U.NB]57�]�EJ>3|3@PRTE?Rf]Vk�x�NBL�RTEGYDAVLJRT]5kjEJ2V7�>J@P687ZRT]5>XEJ@B]�E��

� N!L?LJ7�>?UWN!]5YV@B]5[F7wv.7FEI|�7�7�] x%@BRTL�E?25L?7#@BYV>�@P]WY �BAV]VRfNBL�Rf>�>XE?L\@PRfkPEXx�N!L?|3@PL\Y � @��PA5]VRTN!L�Rf]5>XEJ@B]!E[�NBLJL?7#>XU.NB]WYV>�E?N @�x%@BRTL�>?[\2V7#YDAV{f7�L�UV2W@B>?7B�3|�2V7�LJ7'@B{T{�EJ2VLJ7�@BY5>y@PLJ7S7FCD7�[�ADE?7#Y NB]5[�7'�G7�eB7�]!E\>�25@�e!77�CV@B[�EJ{TH'E?2V7�>?@B6�7y>?7�6�@B]!EJRf[�>ZRT] EJ2V7�EI|�Nw[FN!]!EJ7FCtEJ>!��E?2V7 � � � � �� � � �����j687FEJ2VNDY NPx3x%@PRfLzEJ2VL?7#@BYV>[�NBLJL?7#>XU.NB]WYV>�EJN8E?2V7�� � � � � �ZRf]5>XE?LJA5[�EJRTN!]�NBxM�BAV]VRfNBL#�

�BAV]VRfNBL�UVLJNBk!LJ@B6�>�[�@P]�vW7zAW>X7#Y�Rf]�E?2V7�[�NB]�E?7�CtE3NBx�x%@BRTL3EJ2VLJ7�@BY5>��DvtHyEJ2V7zRf]!EJ7�LJ687�YDR}@0EJ7�NBx [�{f@!>?>� �� ������� � � ���|�2VR}[\2�7FCtE?7�]5YV> ��� �� �� �����.��c5NBL�7�CD@B68UV{T7!�V[FN!]5>XR}YD7�L�EJ2V7�[F{}@B>J>!�

���������������������������� �����,������� �����

0� ������1 2O�"16&������������������;�!0� ������1=��$ � ���������6� �<� ��$'& 2O��1(8�:& /����������*������,B��"�� ��������,6�EH����"��0���)���,������7����)���,�������$ �

�����6� �4�� �� 8��;& ����� �-& ��� ��$ �0�5��" ���2 >G���� D>?�������� 6� 2F��1�� �"�4�%�� ��$O&����������� ��-����$'&0�5��" ���2 >G���� D>?�������� 6� 2F��1�� �4�"��, ��$O&

//

/

132V7z7#~�AVRTe0@B{T7�]!E�[�{f@!>?>��D6�@BYD7ZNPxM@�L?7#@B[FE?RfeB7�UVL?N!kBL\@P6 NBx�EIHtUW7 � � � �����Rf>�EJ2V7Zx�NB{f{TN0|�Rf]Vk �

���������������������������� �����,������������1 �����"�������

������1�����2(������1(8���D> ���� ���;� �.� �FM���D>���������� -���� �-M���6>G0��6�����D>��� ��42 �N����P��������� 6� 2F��1�� �"�4�%�� ��$�$'M���6>G0��6�����D>����"����� 6���;M����D>E0� ��"�K�.$�$'M

�"�D>��� ��32 �N����P �������� 6� 2F��1�� �4�"��, ��$�$�$�$$�$'&

�����������������;�<$ � ��������-�<$'& ��� ������1�����2 �N������1%$'& //

¹�¹ °)( *,+.-�/

Page 25: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

g!g ��������� � � ��� �

�&. - ��� 2 :D57;"2����[FE?A5@B{T{fHB�0Rf]5>XE?LJA5[�EJRTN!]5>�NPx*[FNB]W[FAVLJL?7�]�E�UVLJNBk!LJ@B68>�RT]8�PA5]VRTN!LM@PLJ7 Rf]!EJ7�LJ{T7#@�eB7#Y � vtHZE?257 ����ZNBU.7�L\@0EJNBL �YVAVL?Rf]VkS7#@B[\2 Rf]5>IE\@P]�E���Rf]®@�|�@�H'E?25@PEj@P{f{fN0|�>zvVLJN!@BY5[�@B>XEzNPx�7�e!7�]�EJ>��S132VR}>@PU5UVL?N�@B[\2�Rf>jYDR��.7�L?7�]!Ex�LJNB6 E?257uN!]V7�NPxÃEJ2VLJ7�@BY5>��t@B>�E?2V7�L?7uRf>�]VN�]V7�7�Y�NPx�[FN!]!EJ7FCtE�>?|�RTEJ[\2VRf]Vk�Rf]��BAV]VRfNBL �!@![�E?AW@P{f{TH!��[�NB]�E?7�C�E>?|�RTEJ[\2V7#>�@PLJ7uLJ7�UV{}@B[�7�Y�RT]�LJ7�@![�E?RfeB7�UVLJNBk!LJ@B6�68Rf]VkvtH�RT]�E?7�L?{f7�@�etRf]Vk!>��t@B>�>?2VN0|�]�N!]�c�RfkBAVLJ7zaV�

two fair threadscorresponding

reactive instruction

c�RfkBAVLJ7�a � Q�7�LJkB7�NPxM;�7#@B[�EJRTe!7Z�´]5>IEJL?AW[�E?RfNB]W>

132V7u@Pv5>?7�]5[�7�NPx�[FN!]�E?7FCtE >?|�R E\[\2VRf]VkzRf>�@ZkBNtNDY�UWN!RT]�E�x�N!L�7��y[FRf7�]W[FHB� ��7�E A5> L?7�E?AVLJ]�E?NZE?257������ �7�CV@P68UV{f7�NPx�UVLJ7�etRfNBA5>u>X7#[�EJRTN!]�� � 7�[�NB]5>?R}YD7�L ' E?25L?7#@BYV>�@P]5Yw6�7#@B>?AVLJ7zE?Rf687j1 � RT]w68Rf{T{fR}>X7#[FNB]WYV> �E\@P�!7�]�EJNjLJAV]�EJ2V7�6 � NB]�@�QS@B[��´]�E?N!>?2 �Z`5��|�RTE?25NBADE3UVLJRT]�E?Rf]VkC���McVN!L�'��j9�hBh5�!N!]V7G2W@B>�1�� % "P`!`P6�>��'GN0|z� L?AV]5]VRT]5kSE?2V7�7�~�AVRfe�@B{T7�]�E � ��� � ��� � ��� ���k!RTe!7�>�1�� 9 " ���068>���cVNBL '�� "BhBhV� 1���`V9!9��!aP6�>|�RTE?2 ��� �� �� �����.�B@B]5Y�1���`'%�� "06�>�|�R EJ2 � �� � � ��� ��� ��*�

'GNPE?7jE?2W@0EuLJ7�@![�EJRTe!7�UVLJNBkBL\@P6�>�[�NB]5>?AV687�{f7�>J>G687�6�N!L?H�EJ25@P]SEJ2VLJ7�@BY5>��*{}@B>XEu7FCDU.7�LJRT687�]!E#�W|�RTE?2'�� "Ph!hV��]V7�7#YV> �5� �BQ % |�R EJ2 � ��� � ��� � ��� ��.�Ã@B]5Y �0a5� `�Q % A5>XRf]VkSEJ2VLJ7�@BY5>���132V7�N0e!7�LJ2V7�@!YbNBx687�6�N!L?HbA5>?7�Y vtH'EJ2VLJ7�@BY5>zRf>j@S|�7�{f{ ���t]VN0|�]bU5L?N!vV{T7�6�� x�NBL7�CV@P68UV{f7B��|�R EJ2 '��j9�h!hBh5��RTE25@B>]VNPEv.7�7�] U.N!>J>XRfvV{f7�E?NbL?AV] E?2V7�UVL?7�etRTN!A5>z7FCV@B6�U5{T7�A5>XRf]VkSEJ2VLJ7�@BY5>�� |�2VRf{T7�]VNwUVLJNBv5{T7�6 @BL?R}>X7�A5>XRf]Vk'@LJ7�@![�EJRTe!7uUVLJNBk!LJ@B6��

� �!�����

�u]57G25@!> YD7��5]V7�Y�@�]V7�|�x�LJ@B687�|�NBLJ��x�NBL3[FN!]5[FA5L?LJ7�]�E�UVLJNBk!LJ@B6�68Rf]VkzRf]��!@�e�@5�Bv5@!>X7#Y�NB]yE?2V7u]VNPEJRTN!]NBx @�x%@BRTLuE?2VLJ7�@!YÃ�ucW@PRfLGEJ2VLJ7�@BY5>G@PLJ7�LJAV]wvtH�x%@PRfL�>J[\2V7#YDAV{f7�L\>�|�2VR}[\2wkBRfeB7E?2VLJ7�@!YV>�7#~�A5@P{�L?RfkB2�E\>�E?Nk!7FE3E?257zUVL?ND[�7�>J>XN!L�@B]5Y�7�~�A5@P{ÃLJRfkB2�EJ>�E?N�LJ7�[�7�RfeB7�vVLJN!@BY5[�@B>XE37�eB7�]�EJ>��

132V7Gx%@PRfL EJ2VLJ7�@BY5>Mx�L\@P687�|�NBLJ�6�@P�!7�>�@[F{f7�@BL�>?7�U5@BLJ@PE?RfNB]8v.7FEI|�7�7�]yE?2V7Z[FNtNBU.7�L\@0EJRTe!7�|�N!L?{}Y�@P]WYEJ2V7'U5L?7�7�68UDE?RfeB7'NB]V7!��c5@PRfL�EJ2VL?7#@BYV>�@PLJ7Sv5@B>?R}[�@P{f{fH [�N�N!UW7�LJ@PE?RfeB7!��@B]5Y RTE�R}>�E?257'UVLJNBk!LJ@B6�687�L � >LJ7�>?U.NB]5>J@PvVRf{fR EIH�E?N�UVLJNBkBL\@P6 [FNtN!UW7�LJ@PE?RfNB]S|�RTE?2�NPE?257�LuE?2VLJ7�@!YV>�� �GN0|�7�eB7�L#�WE?2V7�L?7j7FCDRf>XEJ>Z@�|�@�H�E?N7�6v.7�Y�]VN!]D��[�NtNBU.7�L\@0E?RfeB7�[FNDYD7ZRf]�EJ2V7Zx%@PRfL3x�L\@P687�|�NBLJ�*�!EJ2VLJNBAVk!2�EJ2V7z]VNPEJRTN!]�NBx�@jx%@PRfL�UVLJND[F7#>?>��

cW@PRfLGEJ2VL?7#@BYV>G25@�eB7j@y[F{f7�@BLu@P]WYw>XRf68UV{f7j>?7�6�@P]�E?R}[�>��.L?7�{THtRf]VkyNB]wE?2V7jL?7#@B[�EJRTe!7@PU5UVL?N�@B[\2����u>u@[�NB]5>?7�~�AV7�]5[F7!��x%@PRfL3E?2VLJ7�@!YV>�@PLJ7Zv5@B>?Rf[�@P{f{THyYV7FE?7�L?68Rf]VR}>IEJRf[z@B]5Yyx�A5{T{fH�U.NBL?EJ@BvV{T7!�

cW@PRfLME?2VLJ7�@!YV>M@PLJ73NPx*e0@P{fA5@PvV{f7�2V7�{TU8|�RTE?2�AV]VRfUVLJND[F7�>J>?NBL 6�@B[\2VRf]V7�>�EJNzkB7�E�UWN!LXE\@PvV{f7B�B>?Rf6�U5{T7!�!@P]WY7��y[FRf7�]�E�[FNDYD7B�

Å�Æ�¹�Å Ä

Page 26: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

� �� �� �������������� � gB`

132V7Z�GK�� NPxÃEJ2V7�x%@PRfL EJ2VLJ7�@BY5>�x�L\@P687�|�NBLJ�8@P]5Y�RTEJ>�Rf68UV{T7�687�]�EJ@PE?RfNB]�@BL?7u@�e�@BRT{}@Pv5{T7uNB]�EJ2V7 � 7�v�f9 " ���

l8r�� ���t� & � � � � �C� o#n1325@B]V�D>ZE?N��PAV{fRf7�]��G7�6�@PLJRf@5����NBR}[ ��7�]5L?H�� ��L?=#@PL\Y� �u@�etRf7�L��7�LJN0HB��cW@PvVLJR}[F7yK�7�RTC� @B]5Y �P7#@P]D�

c57�L\YDH �tAW>XRf]VRDx�N!L E?2V7�RTLMe0@P{fA5@BvV{T7�[�NB68687�]�EJ>M@B]5Yj>?AVk!kB7�>XE?RfNB]W>�N!]�@�UVLJ7�etRfNBA5>�e!7�L\>XRfNB]jNPx.E?2V73U5@BUW7�L��

���0����� �����

�T9 ���Z7�]S��LJ]VNB{}YÃ�5�!@P687�> ��N!>?{fRT]�� ��� � � �� �� � �� � �� ����� ������ �� ���5��YVYDR}>?NB]D� � 7#>X{f7�H!�Ã9�a!a'%V�� g �zc��7%�N!A5>?>?Rf]VNPE#���0�´c�� �DA5>XRf]VR�� � )� ��$� ���� � � �� �������� ��� ��� � ���*�tNBx¶EI|�@BL?78KML\@B[FE?R}[F7�� � CDU.7�LJR �

7�]5[F7!�5`Bh � "���� "0_ "���"�% %V��gBhBh!hV�� `��z;G@P{Tx �*� �M]VkB7�{f>J[\25@B{T{���� �4���&� � � �������� � ���� � ����9#aBaBa5�� _ �z� � �u@ ��@BLJY��!�0�´c����tA5>?Rf]VR¥�tc���%�NBAW>?>?RT]5NPE�� ��� � �C�@� �)� � ������ �$� � ��� � � � � � �!�´]VL?R}@z;�7#>X7#@PL\[\2�;�7�UWN!LXE

` �0`�gD�V�PA5{THw9#aBa!aV�� " �z� �$�G@ �#@PL\YÃ�V�0�´c��C�DA5>XRf]VR��Vc��C%�N!A5>?>?Rf]VNPE#�!� � �"����#$ ��%�'& ����� �C�@� �)� ���t�´]VL?R}@�;�7�>?7�@BLJ[\2y;�7�UWN!LXE

_�h!g �t�VgPh!hBhV�� %��z�� �GNB{f{TAVv��(� � �� � �� ������ �� ���������� � �� ��� � � � #�)&�� �*���0�*�B@�e0@ � NBLJ{}Y�*9�aBa��V�D@�e0@PRf{f@BvV{f7Z@PE!�

� ��� ��+-,�, �� � ������������� � � �� , �� �#.�/ �102/�/�3 , �� �#.�/ , ��� ����� � � � �� �

� � ���uNBA5ky��7�@5��� ���(� � � ��� � ��� � �� ��#$ ��%� �� � �� P�5��YVYDR}>XN!]D� � 7#>X{f7�H!�Ã9�aBa %V�� ������@�etRT7�L���7�LJN0HB��� ��� �4+5,�, � � ����� � � � � � ������ � �� ,16 � ���� ��� , � ����������� � ��� � ,� a�� %��4'GRf[\25NB{}>��!�j�4%�ADEXEJ{f@BL��5�5�5KMLJNBA5{ C�cW@PLJL?7�{T{��7� �$� ������ �8� � �� � �� ����P� � � ;�7�RT{f{TH!��9�a!a'%5��f9�h��z�5�5;�7�UVUtHB��� ���9� � � � � � �:� � ������� �������<;= � � @B6vVLJR}YDkB7� �]VRfeB7�LJ>?RTEIHyKML?7#>?>���9#aBaBa5��f9B9 �z�B7�@B]D�´cV7�L\YDH �tAW>XRf]VR��5KM27�j�W132V7#>XR}>�[email protected]�@PL#��f9#g � � ��� ��+-,�, �� � � � � � ��� , ��� � �� ���

�f9�`�� � ��� ��+-,�, ���� � � � � � � � �� , � ��� � � � � , ��� � , 0 �-> , � ����� , � ����� � , ��� � ,��� ����� � �� � ��� ��? � � ��� ����� ��� � � �� �

�f9�_ � � ��� ��+-,�, �� � � ����� � �� , � � ��� , ��f9 " � � ��� ��+-,�, �� � � ����� � �� , � � ��� , �!, � � � � ��� � ��� �

¹�¹ °)( *,+.-�/

Page 27: Java Fair Threads - CORE · ISSN 0249-6399 ISRN INRIA/RR--4139--FR+ENG apport de recherche THÈME 1 INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Java Fair Threads

Unité de recherche INRIA Sophia Antipolis2004, route des Lucioles - B.P. 93 - 06902 Sophia Antipolis Cedex (France)

Unité de recherche INRIA Lorraine : Technopôle de Nancy-Brabois - Campus scientifique615, rue du Jardin Botanique - B.P. 101 - 54602 Villers lès Nancy Cedex (France)

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38330 Montbonnot St Martin (France)

Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - B.P. 105 - 78153 Le Chesnay Cedex (France)

ÉditeurINRIA - Domaine de Voluceau - Rocquencourt, B.P. 105 - 78153 Le Chesnay Cedex (France)��������� ���� ���������� ��� ���

ISSN 0249-6399