33 lines · c
1#include <pthread.h>2#include <stdio.h>3#include <stdlib.h>4 5char *pointer;6 7void *f1(void *p) {8 pointer[0] = 'x'; // thread1 line9 return NULL;10}11 12void *f2(void *p) {13 pointer[0] = 'y'; // thread2 line14 return NULL;15}16 17int main (int argc, char const *argv[])18{19 for (int i = 0; i < 100; i++) {20 pointer = (char *)malloc(10); // malloc line21 22 pthread_t t1, t2;23 pthread_create(&t1, NULL, f1, NULL);24 pthread_create(&t2, NULL, f2, NULL);25 26 pthread_join(t1, NULL);27 pthread_join(t2, NULL);28 29 free(pointer);30 }31 return 0;32}33