My understanding is that the point of thread-local objects is to allow avoiding any kind of lockingĀ 
when you know that an object have to be called exclusively from a specific thread and
that each thread using that object will have it's own copy.

So no there is no locking. However it is not clear if you are asking about Boost.Thread thread-local
smart pointer utility, or C++11 thread_local language feature?