#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
int cnt = 0;
//pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
void *fun(void *arg) {
printf("Hello, you are in thread\n"); for (int i = 0; i < 1000; i++) {
// pthread_mutex_lock(&mutex);
cnt++;
//pthread_mutex_unlock(&mutex);
}
// pthread_exit(NULL);
}
int main() {
pthread_t t1, t2;
pthread_create(&t1, NULL, fun, NULL);
pthread_create(&t2, NULL, fun, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
printf("Hello, you are in main\n"); printf("The total count is: %d\n", cnt
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8cHRocmVhZC5oPgoKaW50IGNudCA9IDA7Ci8vcHRocmVhZF9tdXRleF90IG11dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKCnZvaWQgKmZ1bih2b2lkICphcmcpIHsKICAgIHByaW50ZigiSGVsbG8sIHlvdSBhcmUgaW4gdGhyZWFkXG4iKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CiAgICAgICAvLyBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKICAgICAgICBjbnQrKzsKICAgICAgICAvL3B0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7CiAgICB9CiAgLy8gIHB0aHJlYWRfZXhpdChOVUxMKTsKfQoKaW50IG1haW4oKSB7CiAgICBwdGhyZWFkX3QgdDEsIHQyOwoKICAgIHB0aHJlYWRfY3JlYXRlKCZ0MSwgTlVMTCwgZnVuLCBOVUxMKTsKICAgIHB0aHJlYWRfY3JlYXRlKCZ0MiwgTlVMTCwgZnVuLCBOVUxMKTsKCiAgICBwdGhyZWFkX2pvaW4odDEsIE5VTEwpOwogICAgcHRocmVhZF9qb2luKHQyLCBOVUxMKTsKCiAgICBwcmludGYoIkhlbGxvLCB5b3UgYXJlIGluIG1haW5cbiIpOwogICAgcHJpbnRmKCJUaGUgdG90YWwgY291bnQgaXM6ICVkXG4iLCBjbnQpOwoKICAgIHJldHVybiAwOwp9Cg==