Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/sem.h>
- #include <sys/ipc.h>
- #include <sys/types.h>
- #include <sys/syscall.h>
- #include <pthread.h>
- #include <fcntl.h>
- #include <string.h>
- static FILE* sfile;
- pthread_mutex_t mutex;
- void* funzione(void* args)
- {
- char* frase="frase1";
- fprintf(sfile, "%s", frase);
- pthread_mutex_unlock(&mutex);
- printf("%s by funzione1\n", frase);
- sleep(1);
- exit(0);
- }
- void* funzione_b(void* args)
- {
- char* frase_b= "frase2";
- pthread_mutex_lock(&mutex);
- fprintf(sfile, "%s", frase_b);
- //fflush(sfile);
- pthread_mutex_unlock(&mutex);
- printf("%s by funzione_b\n", frase_b);
- exit(0);
- }
- int main()
- {
- void* res;
- pthread_mutex_init(&mutex, NULL);
- pthread_mutex_lock(&mutex);
- sfile=fopen("sincro2.txt", "w+");
- pthread_t ta;
- pthread_t tb;
- pthread_create(&ta, NULL, funzione, NULL);
- pthread_create(&tb, NULL, funzione_b, NULL);
- pthread_join(ta, &res);
- pthread_join(tb, &res);
- fclose(sfile);
- return 0;
- }
Advertisement
RAW Paste Data
Copied
Advertisement