Cooperative Tasks

İşlemcinin yapması gereken işlemleri görevler şeklinde gruplandırıp sonra onları ana programdaki bir süper döngüden çağırmak..
Her bir görev, ana programın bir döngüsü içinde periyodik olarak çağrıldığında çalışan bir sürekli fonksiyondur.
Hiç bir görev bir taramada uzun bir süre boyunca denetimi meşgul etmemelidir.
Görevler birbirleri ile güvenli bir bekleme-devam etme mekanizması ile etkileşmelidir.
Bir görevin çalışması/durması ana uygulamanın davranışları olarak, süper döngü içindeki ana bir thread tarafından yönetilir.

Görevi çalıştıran ana kanallar (sürekli fonksiyonlar) genel bir thread control bayrağı ile yönlendirilirler:

// her bir thread icin kontrol bayragi:
typedef struct
{
    unsigned int command;       // uygulama yonlendirmesi
    unsigned int status;        // ana thread kontrol bayragi
    unsigned int subindex;      // durum ici durumlar/donguler/alt atlamalar icin
    unsigned char itemstatus : 4;
    unsigned char privilege : 2;
    unsigned char busy : 1;
    unsigned char lock : 1;
} ThreadFlag;

Ana kanal fonksiyonu bir switch case döngüsünden ibarettir.

Düşüncelerinizi yazın...

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.