Ein Code ist threadsicher, wenn er Datenstrukturen nur so manipuliert, dass er eine konsistente Ausführung dieses Codes durch mehrere Threads ermöglicht. Ein Code kann threadsicher, bedingt sicher (gegenseitiger Ausschluss erforderlich) oder unsicher (kann nur von einem Thread sicher verwendet werden) sein.