什么是线程安全?
前面我们已经讨论过进程与线程的关系了。进程是计算机进行资源调配的最小单元,线程是计算机进行运算调度的最小单元。线程包含在进程中,只有进程才有独立的内存空间,而进程内的线程都是使用该进程的内存空间里的数据:
每当执行java -jar来启动一个java应用时,其实就是启动了一个JVM进程,而跑在JVM进程上的线程都在使用JVM进程的内存空间里的数据。那如何保证多个线程对共享数据的正确修改、正确读取就是我们要讲的线程安全问题。对,所谓的线程安全问题其实就是数据安全问题。
前面我们已经讨论过进程与线程的关系了。进程是计算机进行资源调配的最小单元,线程是计算机进行运算调度的最小单元。线程包含在进程中,只有进程才有独立的内存空间,而进程内的线程都是使用该进程的内存空间里的数据:
每当执行java -jar来启动一个java应用时,其实就是启动了一个JVM进程,而跑在JVM进程上的线程都在使用JVM进程的内存空间里的数据。那如何保证多个线程对共享数据的正确修改、正确读取就是我们要讲的线程安全问题。对,所谓的线程安全问题其实就是数据安全问题。