A "thread-safe" version of HDF5 is one that can be called from any thread of a multi-threaded program. Any calls to HDF5 can be made in any order, and each individual HDF5 call will perform correctly. Currently, only the first level of thread-safety has been added to HDF5. This version serializes the API suitable for use in a multi-threaded application but does not provide any level of concurrency.
The HDF5 library can be configured to be thread-safe (on a very large scale) by specifying the --enable-threadsafe and --with-pthread=DIR flags when configuring:
./configure --enable-threadsafe --with-pthread=DIR
For information, see: