4 void threadA(void *arg) {
8 void threadB(void *arg) {
12 void threadC(void *arg) {
16 void threadD(void *arg) {
20 printf("ThreadD: d1=%d, d2=%d\n", *d1, *d2);
23 int user_main(int argc, char **argv) {
24 thrd_t t1, t2, t3, t4;
26 Data *dataInit = new Data;
29 atomic_init(&dataPtr, dataInit);
31 thrd_create(&t1, threadA, NULL);
32 thrd_create(&t2, threadB, NULL);
33 //thrd_create(&t3, threadC, NULL);
34 thrd_create(&t4, threadD, NULL);