Multithreading Fragen
-
Immer dasseble...
-
wie jetzt hab ich jetzt recht oder nicht?
-
alterbro schrieb:
wie jetzt hab ich jetzt recht oder nicht?
Das letztere...
-
ach nö, und ich dacht ich häts jetzt gejeggt, und wieder geh ich googeln, trozdem danke
-
Synchrones Netzwerken kann man blockend machen oder nicht - denke ich.
Also z.B. kann man immer mal wieder schaun ob was da ist, also z.B. als schleife die auch noch was andres macht, oder man kann ne blocking Funktion aufrufen.Asynchron gibts nur nichtblockierend.
Beispiel 16 Clients:
Synchron-blockierend -> 16 Threads
Synchron-nichtblockierend -> 1 ThreadAsynchron -> 1 Thread
-
Asynchron gibts auch blockierend.
-
Asynchron bedeutet doch man hinterlegt eine Funktion und diese wird irgendwann mal aufgerufen.
Was ist daran blockierend..
Meinst du die Umsetzung von Ansynchronen Funktionen?
z.B. es wird dann n eigener Thread erstellt und in diesem Thread wird Synchron-blockierend auf ne Antwort gewartet.
Klar könnte man dies blockierend nennen. Jedoch aus Sicht des Benutzers der Asynchronen Funktionen ist es nicht-blockierend. :p
-
Ich glaube was er meint war, dass du bei asynchronen Operationen shedulergesteuert auf das Ende warten kannst, ohne CPU Zeit für das Pollen zu verschwenden.
-
wenn das so ist, welche vorteile hat dann asynchrones networking gegenüber non blocking synchrionem?
und gibts auch vorteile von blocking zu non blocking, oder is das nur ein relikt?
-
Nun, 1. musst du dich nicht darum kümmern, sondern das macht das System für dich. 2. Ist eben die Tatsache, dass das System alles für dich übernimmt eine große Optimierungschance, weil es selbst entscheiden kann, wann es was kopiert/sendet oder wann es einen Thread erstellt.
Aber das Thema gab es hier eigentlich schon zu genüge, es gibt sogar einen Artikel für Windows: http://www.c-plusplus.net/forum/285388
-
ok, danke
-
schon gut
-
sorry, auch eredigt