Table of Contents
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.