/* * Przykładowy program dla kursu "POSIX Threads" z wikibooks.pl * * Temat: hello world z kilku wątków * * Autor: Wojciech Muła */
#include<stdlib.h>#include<stdio.h>#include<pthread.h>#include<errno.h>#define test_errno(msg) do{if (errno) {perror(msg); exit(EXIT_FAILURE);}} while(0)/* prosta funkcja wykonywana w wątku */void*watek(void*_arg){puts("Witaj w równoległym świecie!");returnNULL;}//------------------------------------------------------------------------#define N 5 /* liczba wątków */intmain(){pthread_tid[N];inti;/* utworzenie kilku wątków wątku */for(i=0;i<N;i++){errno=pthread_create(&id[i],NULL,watek,NULL);test_errno("Nie powiodło się pthread_create");}/* oczekiwanie na zakończenie wszystkich wątków */for(i=0;i<N;i++){errno=pthread_join(id[i],NULL);test_errno("pthread_join");}returnEXIT_SUCCESS;}//------------------------------------------------------------------------