Guten Abend!
Da ich mehrmals gefragt wurde wie Threading in C funktioniert zeige ich hier euch ein kleines Beispiel (Weil einige zu inkompetent sind darüber zu Google'n).
Anforderungen:
- Unix, Unix-Like (BSD, Linux) System
- GCC
- nano/gedit
Code:
C: threads.c
/* @Filename: threads.c */
/* @Purpose: Tutorial */
/* @Author: Masteretsam */
#include <stdio.h>
//NetBSD fix macro __unix__
#ifdef __unix__
#include <pthread.h>
#else
#error "Non unix-like system detected! Can not include <pthread.h>."
#endif
int ret;
void *print(void *word)
{
printf("%s", (char*)word);
ret = 100; //Success
pthread_exit(&ret);
}
int main()
{
pthread_t p1, p2;
pthread_create(&p1, NULL, &print, "Text 1");
pthread_create(&p2, NULL, &print, "Text 2");
pthread_join(p1, NULL);
pthread_join(p2, NULL);
return 0;
}
Alles anzeigen
Simple, or not?
Mit GCC Komplieren:
- gcc49 -Wall threads.c -o Threads -pthread
- ./Threads
pthread Dokumentation: pthread
prox; Kannst eh nix