在现实生活中,人们对锁的期望是,它能对某些事物形成一个屏障,除了上锁者外,谁也不能碰到这些事物。比如我在大街上看见了一块金子,我立刻拿来一个透明箱子,把这块金子放在箱子里然后把这个箱子锁上。假设这个箱子和锁都是绝对坚固的,只有我能打开。这个时候走在大街上的人们无论多想得到这块金子都是不能的。因为他打不开这个锁,他就碰不到这块金子。过了一段时间,我不想要这块金子了,我把锁打开了,这个时候,别的人如果想要这块金子的话那他就可以随时取走它。在计算机的世界里,锁的作用与概念与上述的是一样的。
一、锁的基本概念
在计算机科学中,锁(Lock) 是一种用于管理对共享资源访问的同步原语,它在多线程或多进程编程中扮演着重要角色,旨在解决多个执行单元竞争共享资源的问题。
1.临界区(Critical Section)
临界区指的是一段代码,这段代码会访问共享资源(如变量、文件、数据结构等),且这些资源在同一时刻只能由一个线程或进程访问。如果多个线程或进程同时进入临界区并对共享资源进行修改,可能会引发数据竞争(Race Condition) 和数据一致性问题(Data
标签:金子,java,箱子,核心,共享资源,临界,线程,第六章,这块 From: https://blog.csdn.net/yjy000/article/details/144665546