1. A computer program product comprising: one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising instructions to: receive a request to instantiate an instance of a thread-local manager for a particular thread-local variable of a particular thread, wherein the instance of the thread-local manager only has access to the particular thread-local variable; instantiate the instance of the thread-local manager; provide global visibility to the instance of the thread-local manager, wherein the global visibility enables the instance of the thread-local manager to manage all thread-local variables of the particular thread, wherein prior to providing the global visibility, all of the thread-local variables other than the particular thread-local variable are restricted to be managed by other corresponding instances of thread-local manager; call the instance of the thread-local manager to manipulate all thread-local variables corresponding to the particular thread; and send a single command to the instance of the thread-local manger to remove all the thread-local variables when the particular thread completes a task.