Threads
-
Hallo zusammen,
bin gerade echt am verzweifeln, weil ich den nachfolgende Syntax zur Ausgabe nicht nachvollziehen kann.
Bitte dringend um Hilfe!
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <errno.h> #include <string.h> #include <sys/wait.h> static void delay(void) { struct timespec ts; ts.tv_sec = 0; ts.tv_nsec = 3000000; /* 3 ms */ nanosleep(&ts, NULL); } static void simple_print(const char *str) { while (*str) { write(fileno(stdout), str++, 1); delay(); } } static void *fox(void *dummy) { delay(); simple_print("The quick brown fox jumps over the lazy dog.\n"); return(dummy); } static void *work(void *dummy) { simple_print("The main program is working!\n"); return(dummy); } int main(int argc, char *argv[]) { pthread_t tid; if (pthread_create(&tid, NULL, fox, NULL) != 0) { fprintf(stderr, "%s: pthread_create() failed (%s)\n", argv[0], strerror(errno)); return(1); } else { printf("%s: thread %lu created thread %lu\n", argv[0], (unsigned long) pthread_self(), (unsigned long) tid); work(NULL); if (pthread_join(tid, NULL) != 0) { fprintf(stderr, "%s: pthread_join() failed (%s)\n", argv[0], strerror(errno)); return(1); } else { printf("%s: thread %lu exited\n", argv[0], (unsigned long) tid); } } return(0); }
-
Ich verstehe das Programm sehr gut. Und nun?
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
sieht so aus als wüsstest du nicht was threads sind oder wie man sie started, damit umgeht. Weil das programm ist eigentlich ganz gut verständlich.
google mal nach pthread tuts
hab das hier mal gefunden
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html