Ik ben op dit moment mijn geheugen weer eens aan het opfrissen over concurrency problematiek (en dan vooral mbt enterprise/clientserver applicaties) en ik vraag me af hoe jullie dit soort problemen oplossen.
Maken jullie gebruik van een framework zoals EJB waarbij het verboden is om zelf threads aan te maken. De EJB applicatie server zorgt er wel voor dat er geen race problemen optreden, en weet wat te doen bij deadlocks.
Maken jullie gebruik van zelf gebouwde systemen waarbij je de concurrency control zelf oplost? (eventueel mbv een collectie patterns en synchronisatie bouwstenen) Dit is een uiterst complexe zaak en het lijkt me niet dat er veel mensen zijn die dit echt kunnen.
Maken jullie een applicatie waarbij alles op 1 thread wordt afgehandeld? Dit is natuurlijk prachtig om te ontwikkelen omdat je de concurrency problematiek bij de voordeur kan laten staan. Helaas blijft de performance ook bij die voordeur staan.
Maken jullie applicaties en douwen er een lading synchronisatie elementen erin en dan maar op hoop van zegen? Dus hopen dat er geen race problemen zich voortdoen (dat lukt wel als je er maar genoeg synchronisatie erin drukt) en al helemaal geen deadlocks. De performance van dit soort systemen is per definitie bager omdat je waarschijnlijk te veel loopt te syncronizen (of te weinig met als gevolg allerlei raceproblematiek).
Maken jullie gebruik van een framework zoals EJB waarbij het verboden is om zelf threads aan te maken. De EJB applicatie server zorgt er wel voor dat er geen race problemen optreden, en weet wat te doen bij deadlocks.
Maken jullie gebruik van zelf gebouwde systemen waarbij je de concurrency control zelf oplost? (eventueel mbv een collectie patterns en synchronisatie bouwstenen) Dit is een uiterst complexe zaak en het lijkt me niet dat er veel mensen zijn die dit echt kunnen.
Maken jullie een applicatie waarbij alles op 1 thread wordt afgehandeld? Dit is natuurlijk prachtig om te ontwikkelen omdat je de concurrency problematiek bij de voordeur kan laten staan. Helaas blijft de performance ook bij die voordeur staan.
Maken jullie applicaties en douwen er een lading synchronisatie elementen erin en dan maar op hoop van zegen? Dus hopen dat er geen race problemen zich voortdoen (dat lukt wel als je er maar genoeg synchronisatie erin drukt) en al helemaal geen deadlocks. De performance van dit soort systemen is per definitie bager omdat je waarschijnlijk te veel loopt te syncronizen (of te weinig met als gevolg allerlei raceproblematiek).
[ Voor 15% gewijzigd door Alarmnummer op 29-07-2004 16:13 ]