Thread-safe describes a program portion or routine that can be called from multiple programming threads
without unwanted interaction between the threads.
(A thread is an
instance of the program running on behalf of some user or process.)
Thread safety is of particular importance to java
programmers, since Java is a programming language that provides
built-in support for threads.
By using thread-safe routines, the risk
that one thread will interfere and modify data elements of another
thread is eliminated by circumventing potential data race situations
with coordinated access to shared data.
It is possible to ensure that a routine is thread-safe by: