#include<stdio.h>
#include<string.h>
#include<pthread.h>
#include<stdlib.h>
#include<unistd.h>
pthread_t tid[2];
int counter;
pthread_mutex_t lock;
void* doSomeThing(void *arg)
{
pthread_mutex_lock(&lock);
unsigned long i = 0;
counter += 1;
printf("
Job %d started
", counter);
for(i=0; i<(0xFFFFFFFF);i++);
printf("
Job %d finished
", counter);
pthread_mutex_unlock(&lock);
return NULL;
}
int main(void)
{
int i = 0;
int err;
if (pthread_mutex_init(&lock, NULL) != 0)
{
printf("
mutex init failed
");
return 1;
}
while(i < 2)
{
err = pthread_create(&(tid[i]), NULL, &doSomeThing, NULL);
if (err != 0)
printf("
can't create thread :[%s]", strerror(err));
i++;
}
pthread_join(tid[0], NULL);
pthread_join(tid[1], NULL);
pthread_mutex_destroy(&lock);
return 0;
}
Code Example |
---|
C :: vbnet create and write on file |
C :: c syntax |
C :: c print sizeof char |
C :: strong number in c |
C :: Syntax To Take Input In C |
C :: comment c |
C :: go Iterating over an array using a range operator |
C :: read a document in c getting name from console |
C :: c check if array is empty |
C :: addition.c |
C :: binary to decimal in c |
C :: fgets remove newline |
C :: C program to check whether character is lowercase or not using ASCII values |
C :: write a c program to find size of variable |
C :: prime factorization in c |
C :: printing out an array in c from user input |
C :: do...while loop c |
C :: string array in c |
C :: malloc c |
C :: set all pins as output for loop |
C :: do while loop in c |
C :: division en java |
C :: convert video to gif with ffmpeg |
C :: %g and %e in c |
C :: boolean operators in c |
C :: c get pid |
C :: fifo page algorithm in C |
C :: c program boilerplate |
C :: ask the user if they would like to do something again in C |
C :: c timespec |