nn
Wenn man auf das Hinzufügen von USB-Sticks reagieren will, wüsste ich gar nicht wie man das plattformübergreifend gestalten kann. Klar in der Windows-Welt mit WM_DEVICE_CHANGE. Aber unter OSX?
Das musst du dann abstrahieren.
Du hättest dann etwas, in das du Handler für diesen Event registrieren kannst. Wie der Event gefeuert wird, ist dir dann egal.
Ist sicher nicht was du hören willst, aber Embarcadero wird sicher keine
RTL vom Umfang des .Net/Mono Frameworks bauen, um alle möglichen Eventualitäten zu kapseln.
solche Stellen im Code zu suchen und mit Abstraktionen zu verpacken ist generell eine gute Idee. Denn dann kannst du noch anderen Dinge tun, bevor der Event ausgelöst wird, oder danach. Was ansonsten irgendwo untergemoddert werden müsste.
Um beim Beispiel des Threadings zu bleiben: In OSX gibt es dafür
Grand Central Dispatch. Und dafür gibt es anscheinend auch einen
Windows-Port.
Das ist nicht direkt vergleichbar mit dem alten Threadpool, den schon unsere Großväter im Krieg benutzt haben.
GCD ist mehr eine Version der .Net Task parallel Library für native Code. D.h. du sagst was alles getan werden muss, und was vor wem getan werden muss. Und GCD kümmert sich darum, dass es möglichst zackig auf so vielen Kernen wie möglich passiert.