Thread data structure
– identify threads, keep track of resource usage…
mechanisms to create and manage threads
mechanisms to safely coordinate among threads
running concurrently in the same address space
Processes, Threads
VA_p1, VA_p2
Concurrency Control & Coordination
-Mutual Exclusion
exclusive access to only one thread at a time
-Mutex
waiting on other threads
– specific condition before proceeding
Threads and Thread creation
Thread type
– thread data structure
Fork(proc, args)
– create a thread
– not unix fork
Join(thread)
^ terminate a thread
Thread thread1; Shared_list list; thread1 = fork(safe_insert, 4); safe_insert(6); join(thread1); // Optional