If your data structures and their use require locking,
which you would like
to avoid, there is a concept called Read-Copy-Update which is for example
heavily used in the kernel and is also available as an userspace library
(
http://lttng.org/urcu).
Yes, the RCU approach is quite effective. However, better to not call
it that since IBM has a patent on it last I checked.
-- Paul