Ähm, er hat nicht berichtet, dass sein System eingefroren ist, und das wäre der Fall, wenn 100 Threads die volle Aufmerksamkeit der CPU beanspruchen würden.
Können die auch gar nicht, da alle Threads in eine Liste schreiben wollen und das können die nun mal nicht gleichzeitig. Also sind 99 Threads am Warten und 1 Thread am Schreiben.
Sein Problem ist jetzt, dass er mit dem Thread zum Weiterreichen (Lesen aus der Liste) nicht mehr so richtig dazwischenkommt. Also braucht er eine Logik, die dieses Auslesen priorisiert.
Jetzt stehen 99 Schreib-Threads an der CriticalSection und der Lese-Thread hängt hinten dran und muss abwarten, bis diese 99 abgearbeitet sind.
Wenn die Schreib-Threads jetzt eine geringere Priorität bekommen, dann könnte es sogar noch langsamer werden.
Ich glaube das ist nicht gewollt