import threading; import queue; import time; import random; #------------------------------------------------------------------------------# zahlDerPhilos=99; philoRange=range(zahlDerPhilos); maxRundenZahl=5; class EssStaebchenSteuerung(object): def __init__(self): self.staebchenLock=threading.Lock(); def nehmeStaebchenAuf(self): self.staebchenLock.acquire(); def legeStaebchenAb(self): self.staebchenLock.release(); # end class class TischProtokoll(object): def __init__(self,maxNb): self.tischProtokollLock=threading.Semaphore(maxNb); def nehmeTeil(self): self.tischProtokollLock.acquire(); def nehmeAuszeit(self): self.tischProtokollLock.release(); # end class def statusEssen(id,essenszeit): ausgabenWarteschlange.put(dauerStr(sZ)+'| P'+str(id)+' | | ESSEN' ); time.sleep(essenszeit); # end def def statusDenken(id,denkzeit): ausgabenWarteschlange.put(dauerStr(sZ)+'| P'+str(id)+' | | DENKEN' ); time.sleep(denkzeit); # end def class Philos(threading.Thread): def __init__(self,idNb): threading.Thread.__init__(self); self.Rundenzahl=0; self.DenkZeit=0; self.EssensZeit=0; self.MeineId=idNb+1; self.EssStaebchen1=idNb; self.EssStaebchen2=(idNb+1)%zahlDerPhilos; # end def def run(self): denkZeit=1; statusDenken(self.MeineId,denkZeit); while (self.Rundenzahl>> ================================ RESTART ================================ ## >>> ## ## # Beginn ... ## 0.00046 | P1 | | DENKEN ## 0.00141 | P2 | | DENKEN ## 0.00197 | P3 | | DENKEN ## 0.00241 | P4 | | DENKEN ## 0.00284 | P5 | | DENKEN ## 0.00330 | P6 | | DENKEN ## 0.00382 | P7 | | DENKEN ## 0.00428 | P8 | | DENKEN ## 0.00473 | P9 | | DENKEN ## 1.00335 | P1 | E0 | Eßstäbchen AUF ## 1.00348 | P1 | E1 | Eßstäbchen AUF ## 1.00353 | P1 | | ESSEN ## 1.00369 | P6 | E5 | Eßstäbchen AUF ## 1.00376 | P6 | E6 | Eßstäbchen AUF ## 1.00380 | P6 | | ESSEN ## 1.00395 | P2 | E1 | Eßstäbchen AUF ## 1.00414 | P5 | E4 | Eßstäbchen AUF ## 1.00421 | P5 | E5 | Eßstäbchen AUF ## 1.00436 | P7 | E6 | Eßstäbchen AUF ## 1.00455 | P3 | E2 | Eßstäbchen AUF ## 1.00462 | P3 | E3 | Eßstäbchen AUF ## 1.00466 | P3 | | ESSEN ## 1.00482 | P4 | E3 | Eßstäbchen AUF ## 1.00500 | P8 | E7 | Eßstäbchen AUF ## 1.00507 | P8 | E8 | Eßstäbchen AUF ## 1.00511 | P8 | | ESSEN ## 2.01729 | P1 | E0 | Eßstäbchen AB ## 2.01743 | P1 | E1 | Eßstäbchen AB ## 2.01750 | P1 | | DENKEN ## 2.01759 | P3 | E2 | Eßstäbchen AB ## 2.01768 | P3 | E3 | Eßstäbchen AB ## 2.01774 | P3 | | DENKEN ## 2.01785 | P8 | E7 | Eßstäbchen AB ## 2.01794 | P8 | E8 | Eßstäbchen AB ## 2.01799 | P8 | | DENKEN ## 2.01811 | P6 | E5 | Eßstäbchen AB ## 2.01821 | P6 | E6 | Eßstäbchen AB ## 2.01827 | P6 | | DENKEN ## 2.01837 | P2 | E2 | Eßstäbchen AUF ## 2.01847 | P2 | | ESSEN ## 2.01898 | P9 | E8 | Eßstäbchen AUF ## 2.01906 | P9 | E0 | Eßstäbchen AUF ## 2.01910 | P9 | | ESSEN ## 2.01916 | P5 | | ESSEN ## 2.01928 | P4 | E4 | Eßstäbchen AUF ## 2.01933 | P7 | E7 | Eßstäbchen AUF ## 2.01937 | P7 | | ESSEN ## 3.03131 | P6 | E5 | Eßstäbchen AUF ## 3.03144 | P3 | E2 | Eßstäbchen AUF ## 3.03160 | P8 | E7 | Eßstäbchen AUF ## 3.03174 | P7 | E6 | Eßstäbchen AB ## 3.03184 | P7 | E7 | Eßstäbchen AB ## 3.03190 | P7 | | DENKEN ## 3.03205 | P1 | E0 | Eßstäbchen AUF ## 3.03220 | P2 | E1 | Eßstäbchen AB ## 3.03229 | P2 | E2 | Eßstäbchen AB ## 3.03235 | P2 | | DENKEN ## 3.03243 | P9 | E8 | Eßstäbchen AB ## 3.03253 | P9 | E0 | Eßstäbchen AB ## 3.03259 | P9 | | DENKEN ## 3.03266 | P5 | E4 | Eßstäbchen AB ## 3.03273 | P5 | E5 | Eßstäbchen AB ## 3.03278 | P5 | | DENKEN ## 3.03283 | P6 | E6 | Eßstäbchen AUF ## 3.03287 | P6 | | ESSEN ## 3.03297 | P4 | | ESSEN ## 3.03307 | P3 | E3 | Eßstäbchen AUF ## 3.03320 | P1 | E1 | Eßstäbchen AUF ## 3.03329 | P1 | | ESSEN ## 3.03375 | P8 | E8 | Eßstäbchen AUF ## 3.03389 | P8 | | ESSEN ## 4.04527 | P9 | E8 | Eßstäbchen AUF ## 4.04539 | P4 | E3 | Eßstäbchen AB ## 4.04544 | P4 | E4 | Eßstäbchen AB ## 4.04549 | P4 | | DENKEN ## 4.04564 | P7 | E6 | Eßstäbchen AUF ## 4.04579 | P8 | E7 | Eßstäbchen AB ## 4.04588 | P8 | E8 | Eßstäbchen AB ## 4.04594 | P8 | | DENKEN ## 4.04605 | P1 | E0 | Eßstäbchen AB ## 4.04614 | P1 | E1 | Eßstäbchen AB ## 4.04619 | P1 | | DENKEN ## 4.04635 | P2 | E1 | Eßstäbchen AUF ## 4.04642 | P2 | E2 | Eßstäbchen AUF ## 4.04658 | P5 | E4 | Eßstäbchen AUF ## 4.04665 | P5 | E5 | Eßstäbchen AUF ## 4.04676 | P6 | E5 | Eßstäbchen AB ## 4.04686 | P6 | E6 | Eßstäbchen AB ## 4.04692 | P6 | | DENKEN ## 4.04738 | P3 | | ESSEN ## 4.04750 | P9 | E0 | Eßstäbchen AUF ## 4.04754 | P9 | | ESSEN ## 4.04759 | P5 | | ESSEN ## 4.04771 | P7 | E7 | Eßstäbchen AUF ## 4.04776 | P7 | | ESSEN ## 5.05924 | P1 | E0 | Eßstäbchen AUF ## 5.05936 | P7 | E6 | Eßstäbchen AB ## 5.05940 | P7 | E7 | Eßstäbchen AB ## 5.05945 | P7 | | DENKEN ## 5.05957 | P3 | E2 | Eßstäbchen AB ## 5.05966 | P3 | E3 | Eßstäbchen AB ## 5.05972 | P3 | | DENKEN ## 5.05987 | P8 | E7 | Eßstäbchen AUF ## 5.05994 | P8 | E8 | Eßstäbchen AUF ## 5.06010 | P4 | E3 | Eßstäbchen AUF ## 5.06017 | P4 | E4 | Eßstäbchen AUF ## 5.06028 | P5 | E4 | Eßstäbchen AB ## 5.06037 | P5 | E5 | Eßstäbchen AB ## 5.06043 | P5 | | DENKEN ## 5.06055 | P9 | E8 | Eßstäbchen AB ## 5.06064 | P9 | E0 | Eßstäbchen AB ## 5.06070 | P9 | | DENKEN ## 5.06085 | P6 | E5 | Eßstäbchen AUF ## 5.06092 | P6 | E6 | Eßstäbchen AUF ## 5.06096 | P6 | | ESSEN ## 5.06142 | P2 | | ESSEN ## 5.06162 | P1 | E1 | Eßstäbchen AUF ## 5.06168 | P4 | | ESSEN ## 5.06173 | P8 | | ESSEN ## 6.07324 | P9 | E8 | Eßstäbchen AUF ## 6.07345 | P5 | E4 | Eßstäbchen AUF ## 6.07404 | P3 | E2 | Eßstäbchen AUF ## 6.07427 | P6 | E5 | Eßstäbchen AB ## 6.07431 | P6 | E6 | Eßstäbchen AB ## 6.07437 | P6 | | DENKEN ## 6.07443 | P2 | E1 | Eßstäbchen AB ## 6.07447 | P2 | E2 | Eßstäbchen AB ## 6.07452 | P2 | | DENKEN ## 6.07456 | P1 | | ESSEN ## 6.07461 | P4 | E3 | Eßstäbchen AB ## 6.07464 | P4 | E4 | Eßstäbchen AB ## 6.07469 | P4 | | DENKEN ## 6.07473 | P5 | E5 | Eßstäbchen AUF ## 6.07477 | P5 | | ESSEN ## 6.07481 | P8 | E7 | Eßstäbchen AB ## 6.07485 | P8 | E8 | Eßstäbchen AB ## 6.07489 | P8 | | DENKEN ## 6.07493 | P9 | E0 | Eßstäbchen AUF ## 6.07499 | P7 | E6 | Eßstäbchen AUF ## 6.07503 | P7 | E7 | Eßstäbchen AUF ## 6.07506 | P7 | | ESSEN ## 6.07510 | P3 | E3 | Eßstäbchen AUF ## 6.07514 | P3 | | ESSEN ## 7.08725 | P6 | E5 | Eßstäbchen AUF ## 7.08743 | P4 | E3 | Eßstäbchen AUF ## 7.08762 | P8 | E7 | Eßstäbchen AUF ## 7.08776 | P7 | E6 | Eßstäbchen AB ## 7.08786 | P7 | E7 | Eßstäbchen AB ## 7.08791 | P7 | | DENKEN ## 7.08803 | P3 | E2 | Eßstäbchen AB ## 7.08812 | P3 | E3 | Eßstäbchen AB ## 7.08818 | P3 | | DENKEN ## 7.08833 | P2 | E1 | Eßstäbchen AUF ## 7.08848 | P1 | E0 | Eßstäbchen AB ## 7.08858 | P1 | E1 | Eßstäbchen AB ## 7.08863 | P1 | | DENKEN ## 7.08874 | P5 | E4 | Eßstäbchen AB ## 7.08884 | P5 | E5 | Eßstäbchen AB ## 7.08890 | P5 | | DENKEN ## 7.08934 | P8 | E8 | Eßstäbchen AUF ## 7.08948 | P9 | | ESSEN ## 7.08956 | P2 | E2 | Eßstäbchen AUF ## 7.08960 | P2 | | ESSEN ## 7.08965 | P6 | E6 | Eßstäbchen AUF ## 7.08968 | P6 | | ESSEN ## 7.08973 | P4 | E4 | Eßstäbchen AUF ## 7.08976 | P4 | | ESSEN ## 8.10121 | P7 | E6 | Eßstäbchen AUF ## 8.10136 | P5 | E4 | Eßstäbchen AUF ## 8.10151 | P1 | E0 | Eßstäbchen AUF ## 8.10166 | P9 | E8 | Eßstäbchen AB ## 8.10176 | P9 | E0 | Eßstäbchen AB ## 8.10181 | P9 | | DENKEN ## 8.10193 | P2 | E1 | Eßstäbchen AB ## 8.10201 | P2 | E2 | Eßstäbchen AB ## 8.10207 | P2 | | DENKEN ## 8.10219 | P6 | E5 | Eßstäbchen AB ## 8.10228 | P6 | E6 | Eßstäbchen AB ## 8.10234 | P6 | | DENKEN ## 8.10249 | P3 | E2 | Eßstäbchen AUF ## 8.10256 | P3 | E3 | Eßstäbchen AUF ## 8.10268 | P4 | E3 | Eßstäbchen AB ## 8.10277 | P4 | E4 | Eßstäbchen AB ## 8.10283 | P4 | | DENKEN ## 8.10327 | P8 | | ESSEN ## 8.10341 | P7 | E7 | Eßstäbchen AUF ## 8.10348 | P3 | | ESSEN ## 8.10353 | P5 | E5 | Eßstäbchen AUF ## 8.10357 | P5 | | ESSEN ## 8.10367 | P1 | E1 | Eßstäbchen AUF ## 8.10371 | P1 | | ESSEN ## 9.11521 | P9 | E8 | Eßstäbchen AUF ## 9.11535 | P4 | E3 | Eßstäbchen AUF ## 9.11547 | P8 | E7 | Eßstäbchen AB ## 9.11556 | P8 | E8 | Eßstäbchen AB ## 9.11562 | P8 | | DENKEN ## 9.11573 | P3 | E2 | Eßstäbchen AB ## 9.11583 | P3 | E3 | Eßstäbchen AB ## 9.11588 | P3 | | DENKEN ## 9.11604 | P6 | E5 | Eßstäbchen AUF ## 9.11623 | P2 | E1 | Eßstäbchen AUF ## 9.11637 | P5 | E4 | Eßstäbchen AB ## 9.11646 | P5 | E5 | Eßstäbchen AB ## 9.11652 | P5 | | DENKEN ## 9.11663 | P1 | E0 | Eßstäbchen AB ## 9.11673 | P1 | E1 | Eßstäbchen AB ## 9.11678 | P1 | | DENKEN ## 9.11724 | P9 | E0 | Eßstäbchen AUF ## 9.11735 | P9 | | ESSEN ## 9.11746 | P4 | E4 | Eßstäbchen AUF ## 9.11755 | P4 | | ESSEN ## 9.11766 | P6 | E6 | Eßstäbchen AUF ## 9.11779 | P2 | E2 | Eßstäbchen AUF ## 9.11785 | P2 | | ESSEN ## 9.11793 | P7 | | ESSEN ## 10.12917 | P8 | E7 | Eßstäbchen AUF ## 10.12969 | P1 | E0 | Eßstäbchen AUF ## 10.12984 | P9 | E8 | Eßstäbchen AB ## 10.12993 | P9 | E0 | Eßstäbchen AB ## 10.12999 | P9 | | DENKEN ## 10.13015 | P5 | E4 | Eßstäbchen AUF ## 10.13029 | P4 | E3 | Eßstäbchen AB ## 10.13038 | P4 | E4 | Eßstäbchen AB ## 10.13044 | P4 | | DENKEN ## 10.13060 | P3 | E2 | Eßstäbchen AUF ## 10.13075 | P7 | E6 | Eßstäbchen AB ## 10.13084 | P7 | E7 | Eßstäbchen AB ## 10.13090 | P7 | | DENKEN ## 10.13101 | P2 | E1 | Eßstäbchen AB ## 10.13110 | P2 | E2 | Eßstäbchen AB ## 10.13116 | P2 | | DENKEN ## 10.13140 | P1 | E1 | Eßstäbchen AUF ## 10.13150 | P1 | | ESSEN ## 10.13161 | P5 | E5 | Eßstäbchen AUF ## 10.13177 | P6 | | ESSEN ## 10.13193 | P8 | E8 | Eßstäbchen AUF ## 10.13202 | P8 | | ESSEN ## 10.13214 | P3 | E3 | Eßstäbchen AUF ## 10.13219 | P3 | | ESSEN ## 11.14310 | P4 | E3 | Eßstäbchen AUF ## 11.14325 | P9 | E8 | Eßstäbchen AUF ## 11.14336 | P6 | E5 | Eßstäbchen AB ## 11.14345 | P6 | E6 | Eßstäbchen AB ## 11.14351 | P6 | | DENKEN ## 11.14362 | P1 | E0 | Eßstäbchen AB ## 11.14371 | P1 | E1 | Eßstäbchen AB ## 11.14376 | P1 | | DENKEN ## 11.14392 | P2 | E1 | Eßstäbchen AUF ## 11.14399 | P2 | E2 | Eßstäbchen AUF ## 11.14415 | P7 | E6 | Eßstäbchen AUF ## 11.14422 | P7 | E7 | Eßstäbchen AUF ## 11.14433 | P8 | E7 | Eßstäbchen AB ## 11.14443 | P8 | E8 | Eßstäbchen AB ## 11.14448 | P8 | | DENKEN ## 11.14460 | P3 | E2 | Eßstäbchen AB ## 11.14469 | P3 | E3 | Eßstäbchen AB ## 11.14475 | P3 | | DENKEN ## 11.14520 | P7 | | ESSEN ## 11.14537 | P9 | E0 | Eßstäbchen AUF ## 11.14546 | P9 | | ESSEN ## 11.14558 | P2 | | ESSEN ## 11.14574 | P4 | E4 | Eßstäbchen AUF ## 11.14590 | P5 | | ESSEN ## 12.15701 | P1 | | EZ: 5.000 ; DZ: 5.000 ## 12.15726 | P9 | E8 | Eßstäbchen AB ## 12.15731 | P9 | E0 | Eßstäbchen AB ## 12.15737 | P9 | | DENKEN ## 12.15785 | P3 | | EZ: 5.000 ; DZ: 5.000 ## 12.15825 | P2 | E1 | Eßstäbchen AB ## 12.15831 | P2 | E2 | Eßstäbchen AB ## 12.15836 | P2 | | DENKEN ## 12.15841 | P5 | E4 | Eßstäbchen AB ## 12.15845 | P5 | E5 | Eßstäbchen AB ## 12.15850 | P5 | | DENKEN ## 12.15854 | P6 | | EZ: 5.000 ; DZ: 5.000 ## 12.15880 | P7 | E6 | Eßstäbchen AB ## 12.15885 | P7 | E7 | Eßstäbchen AB ## 12.15890 | P7 | | DENKEN ## 12.15894 | P8 | | EZ: 5.000 ; DZ: 5.000 ## 12.15910 | P4 | | ESSEN ## 13.17097 | P9 | | EZ: 5.000 ; DZ: 5.000 ## 13.17153 | P2 | | EZ: 5.000 ; DZ: 5.000 ## 13.17185 | P5 | | EZ: 5.000 ; DZ: 5.000 ## 13.17210 | P7 | | EZ: 5.000 ; DZ: 5.000 ## 13.17227 | P4 | E3 | Eßstäbchen AB ## 13.17232 | P4 | E4 | Eßstäbchen AB ## 13.17238 | P4 | | DENKEN ## 14.18519 | P4 | | EZ: 5.000 ; DZ: 5.000 ## # Ende. ## ## >>>