Ich habe einen Kommentar über Server-Architektur gelesen.Event Loop vs Multithread-Blockierung IO
http://news.ycombinator.com/item?id=520077
In diesem Kommentar, sagt die Person 3 Dinge:
- die Ereignisschleife, immer wieder wurde für eine hohe Anzahl von geringer Aktivität Verbindungen wirklich glänzt gezeigt.
- Im Vergleich dazu wurde ein blockierendes E/A-Modell mit Threads oder Prozessen immer wieder gezeigt, um die Latenz pro Anfrage im Vergleich zu einer Ereignisschleife zu reduzieren.
- Auf einem leicht belasteten System ist der Unterschied nicht zu unterscheiden. Unter Last entscheiden sich die meisten Ereignisschleifen für eine Verlangsamung, die meisten blockierenden Modelle entscheiden sich dafür, die Last abzubauen.
Sind alle davon wahr?
Und auch ein weiterer Artikel hier den Titel „Warum Event eine schlechte Idee sind (für Hoch Concurrency-Server)“
http://www.usenix.org/events/hotos03/tech/vonbehren.html
Können Sie bitte, wenn möglich, einige konkrete Beispiele nennen? Vielen Dank! – Jeff
Ja richtig. Zeig mir deine Implementierung. –
Es ist einfach mit QThreadPool und QRunnable zu implementieren. Überprüfen Sie http://doc.qt.nokia.com/4.7-snapshot/qthreadpool.html – sivabudh