void worker1(void* p) { mythread_detach(); mythread_semwait(&mutex); collected++; mythread_sempost(&mutex, 1); mythread_exit(); }
int main() { unsigned long thread_1; unsigned long thread_2; void *result; mythread_init(); thread_1 = mythread_create(write_thread, (void *)1); mythread_detach(thread_1); thread_1 = mythread_create(write_thread, (void *)3); mythread_detach(thread_1); thread_2 = mythread_create(read_thread, (void *)10); mythread_join(thread_2, NULL); printf("main is going away\n"); //mythread_cleanup(); return 0; }