examples/sync/README:
---------------------

This directory contains SpecC examples which demonstrate the use
of the supplied SpecC standard channel library for synchronization.

Each example instantiates one synchronization channel and demonstrates
its use by running multiple concurrent threads that access the methods
provided by the channel.


- barrier.sc:		demonstrates the channel c_barrier

- critical_section.sc:	demonstrates the channel c_critical_section

- mutex.sc:		demonstrates the channel c_mutex

- semaphore.sc:		demonstrates the channel c_semaphore

- token.sc:		demonstrates the channel c_token

- queue.sc:		demonstrates the channel c_queue

- typed_queue.sc:	demonstrates the channel c_typed_queue
  c_bit64_queue.sc:	template instantiation for bit64 queue channel

- handshake.sc:		demonstrates the channel c_handshake

- double_handshake:	demonstrates the channel c_double_handshake

- typed_double_handshake.sc:	dem. the channel c_typed_double_handshake
  c_packet_double_handshake.sc:	template instantiation for handshake channel


For more detailed information about the examples, please consult
the source code of the example itself, as well as the source code
of the channels and interfaces used. The latter ones can be found
in the directory $SPECC/import/ or $SPECC/inc/.

To compile and run any particular example, simply type

	make <example_name>
	./<example_name>'

Also, you may simply type

	'make all test'

to compile and run all examples in one shot.

Have fun!

Rainer Doemer, 02/19/02.
