Wozu async deferred?
-
omfg schrieb:
async benutzt keinen Threadpool sondern immer frische Threads? WTF?
Nein, obwohl der Standard AFAIK eben diese problematischen Passagen enthält, die IMO streng genommen nur frische Threads wirklich erfüllen.
-
Was ist das Problem am Flag
std::launch::async
per se? So wie ich dich, hustbaer, verstehe, schränkt es die Implementierung durch die erzwungene Asynchronität zu stark ein. Aber gibt es nicht Situationen, in denen man das gerade will?Nicht zuletzt, weil der Standard bei
async|deferred
auch konservative Strategien wie "immerdeferred
" (aktuell beim g++) zulässt. Ist zwar eine Frage von QoI, aber im Endeffekt machen solche Implementierungenasync()
nutzlos und zwingen einen, wieder selbst Threads zu verwalten...
-
Nexus schrieb:
Was ist das Problem am Flag
std::launch::async
per se? So wie ich dich, hustbaer, verstehe, schränkt es die Implementierung durch die erzwungene Asynchronität zu stark ein. Aber gibt es nicht Situationen, in denen man das gerade will?Die erzwungene Asynchronität ist gut, aber die Vorgabe "eigener Thread" finde ich zu einengend. Gibt ja wie schon erwähnt viele Möglichkeiten Tasks asynchron ausführen zu lassen, wobei nicht überall jeder Task nen eigenen Thread bekommt.
Aber wurst. Das wirs sicher noch nachgebessert. Würde mich wundern wenn das auf länger so bleibt.