Aracılığıyla paylaş


İş Parçacığı Havuzu API'si

İş parçacığı havuzu uygulama programlama arabirimi (API), nesne tabanlı bir tasarım kullanır. Aşağıdaki nesnelerin her biri kullanıcı modu veri yapısıyla temsil edilir:

  • Havuz nesnesi, iş gerçekleştirmek için kullanılabilecek bir çalışan iş parçacığı kümesidir. Her işlem, gerektiğinde farklı özelliklere sahip birden çok yalıtılmış havuz oluşturabilir. Ayrıca her işlem için bir varsayılan havuz vardır.
  • Temizleme grubu, geri çağırma oluşturan nesneler kümesiyle ilişkilendirilir. Her temizleme grubunun üyesi olan tüm nesneleri beklemek ve serbest bırakmak için işlevler vardır. Bu, uygulamanın oluşturduğu tüm nesneleri izlemesini engeller.
  • Bir iş nesnesi bir havuza ve isteğe bağlı olarak bir temizleme grubuna atanır. Bu, havuzdaki bir çalışan iş parçacığının geri çağırmasını yürütmesine neden olarak gönderilebilir. Bir iş nesnesinin bekleyen birden çok gönderisi olabilir; her bir geri çağırma oluşturur. Kaynak yetersizliği nedeniyle post işlemi başarısız olamaz.
  • Zamanlayıcı nesnesi, geri çağırmaların zamanlamasını denetler. Süreölçerin süresi her dolduğunda, geri çağırması çalışan havuzuna nakledilir. Kaynak yetersizliği nedeniyle zamanlayıcı ayarlanamaz.
  • Wait nesnesi, bir garson iş parçacığının beklenebilir tanıtıcıda beklemesine neden olur. Bekleme süresi dolduktan veya zaman aşımı süresi dolduktan sonra, garson iş parçacığı bekleme nesnelerinin geri çağrısını beklemenin çalışan havuzuna gönderir. Kaynak yetersizliği nedeniyle bekleme ayarı başarısız olamaz.
  • G/Ç nesnesi, bir dosya tutamacını iş parçacığı havuzu için G/Ç tamamlama bağlantı noktasıyla ilişkilendirir. Zaman uyumsuz G/Ç işlemi tamamlandığında, bir çalışan iş parçacığı işlemin durumunu alır ve G/Ç nesnesinin geri çağırmasını çağırır.

Aşağıdaki tabloda özgün ve geçerli iş parçacığı havuzu API'lerinin özellikleri açıklanmaktadır.

Özellik Özgün API Geçerli API
Synch RegisterWaitForSingleObject
UnregisterWaitEx
CloseThreadpoolWait
CreateThreadpoolWait
SetThreadpoolWait
WaitForThreadpoolWaitCallbacks
İş QueueUserWorkItem
CloseThreadpoolWork
CreateThreadpoolWork
SubmitThreadpoolWork
trySubmitThreadpoolCallback
WaitForThreadpoolWorkCallbacks
Zamanlayıcı CreateTimerQueue
CreateTimerQueueTimer
ChangeTimerQueueTimer
DeleteTimerQueueTimer
DeleteTimerQueueEx
CloseThreadpoolTimer
CreateThreadpoolTimer
IsThreadpoolTimerSet
SetThreadpoolTimer
WaitForThreadpoolTimerCallbacks
G / ç BindIoCompletionCallback
CancelThreadpoolIo
CloseThreadpoolIo
CreateThreadpoolIo
startThreadpoolIo
WaitForThreadpoolIoCallbacks
Temizleme grubu CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CreateThreadpoolCleanupGroup
Havuz CloseThreadpool
CreateThreadpool
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
Geri arama ortamı DestroyThreadpoolEnvironment
InitializeThreadpoolEnvironment
SetThreadpoolCallbackCleanupGroup
SetThreadpoolCallbackLibrary
SetThreadpoolCallbackPool
SetThreadpoolCallbackPriority
SetThreadpoolCallbackRunsLong
Geri çağırma CallbackMayRunLong
Geri arama temizleme DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns
ReleaseSemaphoreWhenCallbackReturns
SetEventWhenCallbackReturns

 

İş Parçacığı Havuzları

İş Parçacığı Havuzu İşlevlerini kullanma