Pmemobj API in general is thread-safe. There are few exceptions (open, create,
close, root and some ctl options), but normal applications should use them only
during startup and shutdown.
Of course if you want to modify the same piece of memory from multiple
threads you have to do the locking yourself.
I recommend looking at pmemobj documentation.
Both man page [1] and tutorial [2] address thread safety.
Marcin
[1]
http://pmem.io/nvml/manpages/linux/master/libpmemobj.3.html
[2]
http://pmem.io/2015/06/18/threads.html