24 lines
791 B
Markdown
Raw Normal View History

2016-12-16 11:17:27 +01:00
---
layout: pattern
title: Thread Local Storage
folder: tls
permalink: /patterns/tls/
pumlid:
2016-12-16 11:17:27 +01:00
categories: Concurrency
tags:
- Java
- Difficulty-Intermediate
---
## Intent
Securing variables global to a thread, i.e. class variables if a Callable object,
against being spoiled by other threads using the same instance of the Callable object
2016-12-16 11:17:27 +01:00
![alt text](./etc/tls.png "Thread Local Storage")
## Applicability
Use the Thread Local Storage in any of the following situations
* when you use class variables in your Callable Object that are not read-only and you use the same Callable instance in more than one thread running in parallel
* when you use static variables in your Callable Object that are not read-only and more than one instances of the Callable may run in parallel threads.