C Programlamada Zamanlayıcı Fonksiyonu Oluşturma

C programlamada, zamanlayıcı işlevi belirli bir süre geçtikten sonra belirli bir görevi yürütmek için yararlı bir araçtır. Bu, özellikle bir işlevin yürütülmesini geciktirmeniz veya bir görevi düzenli aralıklarla gerçekleştirmeniz gereken senaryolarda yararlı olabilir. Bu makalede, C programlamada bir zamanlayıcı fonksiyonunun nasıl oluşturulacağını keşfedeceğiz.

C’de bir zamanlayıcı fonksiyonunu uygulamanın yaygın bir yolu, zaman değerleriyle çalışmak için fonksiyonlar sağlayan `time.h` başlık dosyasını kullanmaktır. Örneğin ‘time()’ işlevi, geçerli takvim saatini Unix döneminden bu yana geçen saniye sayısını temsil eden bir ‘time_t’ nesnesi olarak döndürür. Bu değeri hedef zamanla karşılaştırarak belirli bir sürenin ne zaman geçtiğini belirleyebiliriz.

Zamanlayıcı fonksiyonu oluşturmak için parametre olarak zaman aralığını alan ve `time()` kullanan bir fonksiyon tanımlayabiliriz. Geçerli saati hesaplamak için işlev. Daha sonra bu zamanı zamanlayıcının başlangıç ​​zamanı ile karşılaştırabilir ve belirtilen aralığın geçip geçmediğini kontrol edebiliriz. Varsa istenilen görevi yürütebiliriz.

İşte C’deki basit bir zamanlayıcı fonksiyonu örneği:

“`c

#dahil et

#include

geçersiz zamanlayıcı(int saniye) {

time_t start_time = time(NULL);

time_t geçerli_zaman;

yap {

geçerli_zaman = zaman(BOŞ);

} while ((geçerli_zaman – başlangıç_zamanı) < seconds); printf(“Timer expired! “); } int main() { zamanlayıcı(5); // Zamanlayıcı 5 saniyeye ayarlandı 0’a dön; } “` Bu örnekte, `timer()` işlevi, görevi yürütmeden önce beklenecek saniye sayısını temsil eden bir tamsayı parametresi alır. ‘Time()’ işlevini kullanarak başlangıç ​​zamanını hesaplar ve ardından belirtilen aralık geçene kadar mevcut zamanı sürekli olarak kontrol eden bir döngüye girer. Zamanlayıcının süresi dolduğunda, zamanlayıcının süresinin dolduğunu belirten bir mesaj yazdırır. Zamanlayıcı fonksiyonunun bu uygulamasının basit bir uygulama olduğunu ve tüm senaryolar için uygun olmayabileceğini unutmamak önemlidir. Daha kesin zamanlama veya daha karmaşık gereksinimler için, daha gelişmiş işlevsellik sağlayan diğer teknikleri veya kitaplıkları kullanmayı düşünmeniz gerekebilir. C’de bir zamanlayıcı işlevi oluşturmaya yönelik başka bir yaklaşım, “signal.h” başlık dosyasını kullanmaktır; belirli aralıklarla tetiklenebilecek sinyal işleyicileri ayarlamanız gerekir. ‘SIGALRM’ sinyali için bir sinyal işleyici kaydederek, belirli bir süre geçtikten sonra çalacak bir alarm programlayabilirsiniz. İşte C: [video src="http://shchimay.com/wp-content/uploads/2023/11/ASDU.mp4" /]“`c #dahil et #dahil et #include void timer_handler(int signal) { printf(“Zamanlayıcının süresi doldu! “); } geçersiz zamanlayıcı(int saniye) { signal(SIGALRM, timer_handler); alarm(saniye); duraklatma(); } int main() { zamanlayıcı(5); // Zamanlayıcı 5 saniyeye ayarlandı 0’a dön; } “` Bu örnekte, `SIGALRM` sinyali alındığında `timer_handler()` işlevi çağrılır ve zamanlayıcının süresinin dolduğunu belirtir. ‘timer()’ işlevi sinyal işleyiciyi kaydeder, belirtilen saniye sayısı için bir alarm ayarlar ve ardından sinyal alınana kadar programı duraklatır.

sabit  yatak GR büyük
Model GR15 Yan/Üst GR20 Yan/Üst GR40 Yan/Üst GR50
Maks. Çıkış 18T/SA 25T/saat 48T/saat 70T/saat

C programlamada bir zamanlayıcı işlevi oluşturmak, zamana duyarlı görevleri yönetmek veya programlarınızda gecikmeleri uygulamak için değerli bir beceri olabilir. ‘time.h’ veya ‘signal.h’ başlık dosyalarını kullanarak, özel gereksinimlerinizi karşılayan zamanlayıcı işlevlerini uygulayabilir ve kodunuzun verimliliğini artırabilirsiniz.