Linux多线程同步

1.同步概念

Linux多线程同步_第1张图片

2.线程同步:

同步同步调,对公共区域内容按照预定的先后次序访问,防止数据混乱。

线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其他线程为保证数据一致性,不能调用该功能。

3.数据混乱原因

Linux多线程同步_第2张图片

 4.互斥量

linux中提供一把互斥锁mutex。

每个线程都在对资源操作前都能尝试加锁,成功加锁之后才能操作,操作结束解锁。

资源还是共享,线程间也还是竞争的。

 Linux多线程同步_第3张图片

当A线程对某个全局变量加锁访问,B在访问前尝试加锁,拿不到锁,B阻塞。C线程不去加锁,而直接访问该全局变量,依然能够访问,但会出现数据混乱。

所以,互斥锁实质上是操作系统提供的一把“

你可能感兴趣的:(jvm)