Timer unter Linux in c [duplizieren]

Mögliche Duplikate:
Loops / Timer in C

Ich habe in den letzten 3 Tagen über Timer gelesen und kann nichts Nützliches finden. Ich versuche es anhand eines konkreten Beispiels zu verstehen. Kann mir jemand helfen, einen Alarm für das unten stehende Programm einzurichten?

Wie kann ich einen Timer so einstellen, dass er 2 Argumente sendet? Eines ist der Name des Arrays und das zweite ist die zu löschende Nummer. Ich weiß, dass das Folgende sowieso nicht sicher ist. Ich versuche nur zu verstehen, wie man es benutzt Alarme mit Argumenten zum Aufrufen einer Funktion.

Bitte beachten Sie, dass es sich bei der Umgebung um Linux handelt, und ich freue mich über jeden Link zu einem funktionierenden C-Beispiel.

#include<stdio.h>
int delete_from_array(int arg) ;


    int main()
    {

    int a[10000], i, y ;
    //how to set timer here for to delete any number in array after half a second
    for (y=0; y < 100; y++) {


        for (i=0; i<sizeof(a) / sizeof(int); i++)
            a[i] = i;
    sleep(1);
    printf("wake\n");
    }

    }

    int delete_from_array(int arg) 
    {
    int i, a[1000], number_to_delete=0;

    //number_to_delete = arg->number;

    for (i=0; i<sizeof(a); i++)
        if (a[i] == number_to_delete)
            a[i] = 0;
    printf("deleted\n");

    }

Was ich versuche, ist, dass ich einen Hash habe, dessen Werte nach 1 Sekunde abgelaufen sind. Nachdem ich den Wert in den Hash eingefügt habe, muss ich einen Timer erstellen, der diesen Wert löscht, nachdem wir sagen, dass er abgelaufen ist 1 Sekunde und WENN ich vor diesem Intervall (1 Sekunde) eine Antwort vom Server erhielt, lösche ich den Wert aus dem Hash und lösche den Timer, fast wie bei einer erneuten Übertragung in tcp

Antworten auf die Frage(2)

Ihre Antwort auf die Frage