C11 standartları ile birlikte C Programlama Dili'ne eklenen threads.h başlık dosyasında thread, mutex ve koşul değişkenleri ile ilgili fonksiyon, makro ve değişken tanımlamaları yer almaktadır.
Eğer __STDC_NO_THREADS __ (C11) makro sabiti derleyici tarafından tanımlanırsa, thread.h dosyası ve bu dosyada yer alan tanımlamalar devre dışı kalır.
Fonksiyonlar
Fonksiyon adı | Açıklama |
---|---|
call_once (C11) | Bir fonksiyonun sadece bir defa çağrılmasını sağlar. |
cnd_broadcast (C11) | Bir koşul değişkenine bağlı olarak bloke edilen tüm thread'leri devreye sokar. |
cnd_destroy (C11) | Bir koşul değişkenini yok eder. |
cnd_init (C11) | Bir koşul değişkeni oluşturur. |
cnd_signal (C11) | Bir koşul değişkenine bağlı olarak bloke edilen bir thread'i devreye sokar. |
cnd_timedwait (C11) | Zaman aşımına sahip bir koşul değişkenini bloke eder. |
cnd_wait (C11) | Bir koşul değişkenini bloke eder. |
mtx_destroy (C11) | Bir mutex'i yok eder. |
mtx_init (C11) | Bir muteks oluşturur. |
mtx_lock (C11) | Bir muteksi kilitleyene kadar engeller. |
mtx_timedlock (C11) | Bir muteks kilitlenene veya zaman aşımına uğrayana kadar engeller. |
mtx_trylock (C11) | Bir muteksi kilitler veya kilitlenmişse engellemeden döndürür. |
mtx_unlock (C11) | Bir muteksin kilidini açar. |
thrd_create (C11) | Bir thread oluşturur. |
thrd_current (C11) | Aktif thread tanımlayıcısını elde eder. |
thrd_detach (C11) | Bir thread'i ayırır. |
thrd_equal (C11) | İki thread tanımlayıcısının aynı thread'e ait olup olmadığını kontrol eder. |
thrd_exit (C11) | Çağıran thread'i sonlandırır. |
thrd_join (C11) | Bir thread sona erene kadar engeller. |
thrd_sleep (C11) | Çağıran thread'in çalışmasını belirli bir süre için askıya alır. |
thrd_yield (C11) | Şimdiki zaman dilimini verir. |
tss_create (C11) | Belirli bir destructor ile thread'e özgü depolama işaretçisi oluşturur. |
tss_delete (C11) | Belirli bir thread'e özel işaretçi tarafından tutulan kaynakları serbest bırakır. |
tss_get (C11) | Thread'e özgü depolama biriminden veri okur. |
tss_set (C11) | Thread'e özgü depolama birimine veri yazar. |
Veriler
Veri türü adı | Açıklama |
---|---|
cnd_t | Bir koşul değişkeni için tanımlayıcı içeren bir komple nesne veri türüdür. |
mtx_t | Bir muteks için tanımlayıcı içeren bir komple nesne veri türüdür. |
once_flag | Call_once fonksiyonu tarafından kullanılan bir flag içeren komple nesne veri türüdür. |
thrd_start_t (C11) | Yeni bir thread oluşturmak için thrd_create fonksiyonuna geçirilen bir fonksiyon işaretçisidir int (*)(void*). |
thrd_t | Bir thread tanımlayan uygulama tabanlı bir komple nesne veri türüdür. |
tss_dtor_t | Bir thread'e özgü depolama işaretçisi destructor'ı için bir fonksiyon işaretçisidir void (*)(void*). |
tss_t | Bir thread'e özgü depolama işaretçisi için tanımlayıcı içeren bir komple nesne veri türüdür. |
Makrolar
Değişken adı | Açıklama |
---|---|
thread_local (C11) | Thread lokal makrosu. |
ONCE_FLAG_INIT | Once_flag türündeki bir nesneye ilk değer vermek için kullanılabilecek bir değeri gösterir. |
TSS_DTOR_ITERATIONS (C11) | Bir thread sona erdiğinde, destructor'ın maksimum çağrılma sayısını gösterir. |
Makro sabitler
Sabit adı | Açıklama |
---|---|
mtx_plain (C11) mtx_recursive (C11) mtx_timed (C11) |
Muteks türünü belirler. |
thrd_success (C11) thrd_timedout (C11) thrd_busy (C11) thrd_nomem (C11) thrd_error (C11) |
Bir thread'in hata durumunu gösterir. |