3 #include "libthreads.h"
10 static void a(void *obj)
12 int r1=atomic_load_explicit(&y, memory_order_relaxed);
13 atomic_store_explicit(&x, r1, memory_order_relaxed);
17 static void b(void *obj)
19 int r2=atomic_load_explicit(&x, memory_order_relaxed);
20 atomic_store_explicit(&y, 42, memory_order_relaxed);
31 printf("Thread %d: creating 2 threads\n", thrd_current());
32 thrd_create(&t1, (thrd_start_t)&a, NULL);
33 thrd_create(&t2, (thrd_start_t)&b, NULL);
37 printf("Thread %d is finished\n", thrd_current());