The programs in this directory are examples to demonstrate how to use the omnithread class library. 1. diner - a solution to the dining philosophers problem. 2. prodcons - demonstrates the use of condition variables for signalling between two "producer" threads and three "consumer" threads. Also demonstrates the use of timed waits. 3. thrspecdata - demonstrates the use of thread-specific data by having a class which inherits from omni_thread. Also demonstrates joining with a thread which returns a value. 4. prio - Thread priorities test. See the comments at the beginning of the program source. To Compile ---------- + On Unix - Edit ../../../config/config.mk to select the appropriate platform. - You must use GNUmake. - Do 'make all' in this directory. When make finishes, the binaries are compiled. + On NT and Windows 95 - Make sure that you \bin\x86_win32 in you PATH environment variable. - Do 'nmake /f dir.mak' in this directory. When nmake finishes, the binaries are compiled. To Run The Programs ------------------- - On unix, since the shared libraries libomniORB3.so and libomnithread.so are not in the directories searched by the dynamic loader by default, you must add the library directory to the search path. On Solaris 2.5 $ LD_LIBRARY_PATH= $ export LD_LIBRARY_PATH - On NT, make sure that you \bin\x86_win32 in you PATH environment variable.