【从入门到放弃-Java】并发编程-线程安全
概述
并发编程,即多条线程在同一时间段内“同时”运行。
在多处理器系统已经普及的今天,多线程能发挥出其优势,如:一个8核cpu的服务器,如果只使用单线程的话,将有7个处理器被闲置,只能发挥出服务器八分之一的能力(忽略其它资源占用情况)。
同时,使用多线程,可以简化我们对复杂任务的处理逻辑,降低业务模型的复杂程度。
因此并发编程对于提高服务器的资源利用率、提高系统吞吐量、降低编码难度等方面起着至关重要的作用。
以上是并发编程的优点,但是它同样引入了一个很重要的问题:线程安全。
什么是线程安全问题
线程在并发执行时,因为cpu的调度等原因,线程会交替执行。如下图例子所示
public class SelfIncremental {
private static int count;
public static void main(S