From: Joel Salomon (spamm_trapp_at_[hidden])
Date: 2004-09-06 16:59:37
John Torjo wrote:
> Use mutexes.
> In my experience, I hardly need just a container to be thead-safe. I
> usually need more data in addition to the container (which needs to be
> thread-safe). For instance, an extra latest_access_time, out_file,
> used_for_the_first_time, etc.
> Thus, to me, the benefit of having a thread-safe container is very small.
One thread-safe container that might be useful is a channel - a queue
that one thread writes to and another reads to, the reader blocking when
the channel is empty. Inferno and Plan9 (and the port of the plan 9
thread library to Unix) use these for thread control as well as for
inter-thread communication. Supposedly multithreaded programs based on
the channel are easier to write correctly or prove correct.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk