Sdílet prostřednictvím


Rozhraní API fondu vláken

Programovací rozhraní (API) fondu vláken používá objektový návrh. Každý z následujících objektů je reprezentován strukturou dat v uživatelském režimu:

  • Objekt fondu je sada pracovních vláken, která lze použít k provádění práce. Každý proces může podle potřeby vytvořit několik izolovaných fondů s různými vlastnostmi. Pro každý proces existuje také výchozí fond.
  • Skupina vyčištění je přidružená k sadě objektů generovaných zpětným voláním. Funkce existují, aby počkaly a uvolnily všechny objekty, které jsou členy každé skupiny čištění. Tím se aplikace uvolní ze sledování všech objektů, které vytvořila.
  • Pracovní objekt je přiřazen k fondu a volitelně ke skupině vyčištění. Může se publikovat, což způsobí, že pracovní vlákno z fondu spustí jeho zpětné volání. Pracovní objekt může mít více nevyřízených příspěvků; každý vygeneruje zpětné volání. Operace post nemůže selhat kvůli nedostatku prostředků.
  • Objekt časovače řídí plánování zpětných volání. Pokaždé, když vyprší platnost časovače, se její zpětné volání publikuje do svého fondu pracovních procesů. Nastavení časovače nemůže selhat kvůli nedostatku prostředků.
  • Objekt čekání způsobí, že vlákno číšníka čeká na čekaný popisovač. Po splnění čekání nebo vypršení časového limitu vlákno číšnice publikuje zpětná volání objektů čekání do fondu pracovních procesů čekání. Nastavení čekání nemůže selhat kvůli nedostatku prostředků.
  • Vstupně-výstupní objekt přidruží popisovač souboru k portu pro doplňování vstupně-výstupních operací fondu vláken. Po dokončení asynchronní vstupně-výstupní operace pracovní vlákno převezme stav operace a zavolá zpětné volání vstupně-výstupního objektu.

Následující tabulka popisuje funkce původního a aktuálního rozhraní API fondu vláken.

Rys Původní rozhraní API Aktuální rozhraní API
Synchronizace RegisterWaitForSingleObject
UnregisterWaitEx
CloseThreadpoolWait
CreateThreadpoolWait
SetThreadpoolWait
WaitForThreadpoolWaitCallbacks
Práce QueueUserWorkItem
CloseThreadpoolWork
CreateThreadpoolWork
SubmitThreadpoolWork
trySubmitThreadpoolCallback
WaitForThreadpoolWorkCallbacks
Časovač CreateTimerQueue
CreateTimerQueueTimer
ChangeTimerQueueTimer
DeleteTimerQueueTimer
DeleteTimerQueueEx
CloseThreadpoolTimer
CreateThreadpoolTimer
IsThreadpoolTimerSet
SetThreadpoolTimer
WaitForThreadpoolTimerCallbacks
I/O BindIoCompletionCallback
CancelThreadpoolIo
CloseThreadpoolIo
CreateThreadpoolIo
StartThreadpoolIo
WaitForThreadpoolIoCallbacks
Skupina vyčištění CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CreateThreadpoolCleanupGroup
Tůň CloseThreadpool
CreateThreadpool
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
Prostředí zpětného volání DestroyThreadpoolEnvironment
InitializeThreadpoolEnvironment
SetThreadpoolCallbackCleanupGroup
SetThreadpoolCallbackLibrary
SetThreadpoolCallbackPool
SetThreadpoolCallbackPriority
SetThreadpoolCallbackRunsLong
Zpětné volání zpětné voláníMayRunLong
Vyčištění zpětného volání DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns
ReleaseSemaphoreWhenCallbackReturns
SetEventWhenCallbackReturns

 

fondy vláken

použití funkcí fondu vláken