Фрагмент кода является потокобезопасным, если он только манипулирует структурами данных таким образом, чтобы обеспечить согласованное выполнение этого кода несколькими потоками. Код может быть потокобезопасным, условно безопасным (требуется взаимное исключение) или небезопасным (может безопасно использоваться только одним потоком).