identificationdivision. program-id. philosopher. author. NN. * dining philosophers datadivision. working-storagesection. 78 N value5. 01 tmp1 pic9(4). 01 tmp2 pic9(4). 01 i1 pic9(4). linkagesection. 01 i pic9(4). 01 semid pic9(4). proceduredivisionusing i semid. performuntilfalse display"philosopher "i" thinks" call semwait using semid i 1 compute i1 = i+1 compute tmp1 = function mod(i1,N) move1to tmp2 call semwait using semid tmp1 tmp2 display"philosopher " i " eats" call semsignal using semid i tmp2 call semsignal using semid tmp1 tmp2 end-perform end-Program philosopher.
identificationdivision. program-id. main. author. NN. datadivision. working-storagesection. 78 N value5. 01 i pic9(4). 01 semid pic9(4). proceduredivision. compute semid = function semget(IPC-PRIVATE,N,0600) performvarying i from0until i>=N call semsetval using semid i 1 end-perform performvarying i from0until i>= N-1 compute pid=function fork() if pid = 0then call philosopher using i semid call philosopher using i semid end-perform end-Program main.
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-16)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.