Simple User Thread Library

1.0.0

Version:
1.0
Date:
18/09/2009
Author:
Kartik S

Introduction

This library was written to demonstrate various multithreading models. There are 3 models --
  1. Many to One (this program)
  2. One to One (Linux PThreads)
  3. Many to Many (Solaris Threads)
A simple Many to One user-thread library has been implemented. PThreads and Solaris thread libraries implement the other 2 models. We can also implement the last 2 models, but it becomes complicated because the global threading structures have to be protected by synchronisation (using SIGUSR1, SIGUSR2 or using semaphores). The last 2 models can use the clone() system call.

Important Implementation Details

Note:
  • The threads should not do something fancy like generate signals, since signals have not been taken care of by the thread library
  • A fork() duplicates ALL the threads, not just the calling thread
  • setitimer() and getitimer() should not be used by the threads
  • This library is specific to the Intel 386 processor Specify the option '-march=i386' while compiling with g++
Bug:
If the timer goes off while the context is being switched, then GONE CASE.

Generated on Fri Sep 18 20:32:22 2009 for "MyThread Library" by  doxygen 1.5.5