Jan Hofmann
2003-10-21 13:30:52 UTC
Hallo,
ich habe ein kleines Client/Server System geschrieben. Der Server wartet auf
Clients, akzeptiert diese und erzeugt dann für jeden Client eine
MessageQueue und einen Thread, der wartet ob seine Messagequeue gefüllt wird
und gegebenenfalls die Nachricht an den Client sendet. Der Client wartet in
einer Endlosschleife auf eingehende Nachrichten. Wenn ich das ganze starte,
habe ich bis zum dritten Clienten eine CPU auslastung von 0-2%, aber nach
start des vierten ist sie konstant auf 100%. Ich habe schon ein bisschen mit
sleep(x) rumprobiert, ob ich die CPU last verringern kann, aber es tritt
immer derselbe Effekt auf.
Irgendwelche Ideen, wo mein Problem liegen könnte?
(sockets/threads/hardware)
Bei Bedarf kann ich gerne meinen sourcecode posten, hab dies aber erstmal
nicht getan, da ich nicht sicher bin, ob es nicht vielleicht ein
generelleres Problem ist.
Danke,
Jan Hofmann
ich habe ein kleines Client/Server System geschrieben. Der Server wartet auf
Clients, akzeptiert diese und erzeugt dann für jeden Client eine
MessageQueue und einen Thread, der wartet ob seine Messagequeue gefüllt wird
und gegebenenfalls die Nachricht an den Client sendet. Der Client wartet in
einer Endlosschleife auf eingehende Nachrichten. Wenn ich das ganze starte,
habe ich bis zum dritten Clienten eine CPU auslastung von 0-2%, aber nach
start des vierten ist sie konstant auf 100%. Ich habe schon ein bisschen mit
sleep(x) rumprobiert, ob ich die CPU last verringern kann, aber es tritt
immer derselbe Effekt auf.
Irgendwelche Ideen, wo mein Problem liegen könnte?
(sockets/threads/hardware)
Bei Bedarf kann ich gerne meinen sourcecode posten, hab dies aber erstmal
nicht getan, da ich nicht sicher bin, ob es nicht vielleicht ein
generelleres Problem ist.
Danke,
Jan Hofmann