IUMSScheduler Yapısı
Eşzamanlılık Çalışma Zamanı Resource Manager'ının kullanıcı modu zamanlanabilir (UMS) iş parçacıklarını teslim etmelerini isteyen bir iş zamanlayıcısının soyutlamasına yönelik arabirim. Resource Manager, UMS iş parçacığı zamanlayıcılarıyla iletişim kurmak için bu arabirimi kullanır. Arabirim IUMSScheduler
, arabirimden devralır IScheduler
.
Sözdizimi
struct IUMSScheduler : public IScheduler;
Üyeler
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
IUMSScheduler::SetCompletionList | IUMSCompletionList UMS iş parçacığı zamanlayıcısına bir arabirim atar. |
Açıklamalar
Resource Manager ile iletişim kuran özel bir zamanlayıcı uyguluyorsanız ve UMS iş parçacıklarının sıradan Win32 iş parçacıkları yerine zamanlayıcınıza verilmesini istiyorsanız, arabiriminin IUMSScheduler
bir uygulamasını sağlamanız gerekir. Ayrıca, zamanlayıcı ilke anahtarının SchedulerKind
ilke değerini olarak UmsThreadDefault
ayarlamanız gerekir. İlke UMS iş parçacığını belirtiyorsa, IScheduler
IResourceManager::RegisterScheduler yöntemine parametre olarak geçirilen arabirim bir IUMSScheduler
arabirim olmalıdır.
Resource Manager, UMS iş parçacıklarını yalnızca UMS özelliğine sahip işletim sistemlerinde teslim eder. Windows 7 ve üzeri sürüme sahip 64 bit işletim sistemleri UMS iş parçacıklarını destekler. Anahtar değerine UmsThreadDefault
ayarlanmış bir zamanlayıcı ilkesi SchedulerKind
oluşturursanız ve temel alınan platform UMS'yi desteklemiyorsa, bu ilkedeki SchedulerKind
anahtarın değeri olarak ThreadScheduler
değiştirilir. UMS iş parçacıklarını almayı beklemeden önce bu ilke değerini her zaman geri okumanız gerekir.
Arabirim IUMSScheduler
, bir zamanlayıcı ile Resource Manager arasındaki iki yönlü iletişim kanalının bir ucudur. Diğer uç, Resource Manager tarafından IResourceManager
uygulanan ve ISchedulerProxy
arabirimleriyle temsil edilir.
Devralma Hiyerarşisi
IUMSScheduler
Gereksinimler
Üst bilgi: concrtrm.h
Ad alanı: eşzamanlılık
IUMSScheduler::SetCompletionList Yöntemi
IUMSCompletionList
UMS iş parçacığı zamanlayıcısına bir arabirim atar.
virtual void SetCompletionList(_Inout_ IUMSCompletionList* pCompletionList) = 0;
Parametreler
pCompletionList
Zamanlayıcının tamamlanma listesi arabirimi. Zamanlayıcı başına tek bir liste vardır.
Açıklamalar
Resource Manager, zamanlayıcı kaynakların ilk ayırmasını istedikten sonra UMS iş parçacıkları istediğini belirten bir zamanlayıcıda bu yöntemi çağırır. Zamanlayıcı, UMS iş parçacığı proxy'lerinin engelinin ne zaman kaldırılmış olduğunu belirlemek için arabirimini kullanabilir IUMSCompletionList
. Bu arabirime yalnızca UMS zamanlayıcısına atanmış bir sanal işlemci kökünde çalışan bir iş parçacığı ara sunucusundan erişmek geçerlidir.
Ayrıca bkz.
Eşzamanlılık Ad Alanı
PolicyElementKey
IScheduler Yapısı
IUMSCompletionList Yapısı
IResourceManager Yapısı