分布式协调服务 Zookeeper是分布式协调服务框架 分布式协调技术: 主要用来解决分布式环境当中多个进程之间的同步控制,让进程有序的去访问某种临界资源,防止造成"脏数据"的后果 分布式协调技术的核心就是实现分布式锁 分布式锁 分布式锁: 为了防止分布式系统中的多个进程之间相互干扰,需要分布式协调 ...
分类:
其他好文 时间:
2021-05-24 14:40:54
阅读次数:
0
1、概述 互斥锁通常用在多线程中,用于保护临界资源。什么是临界资源?我的理解就是有可能被多个线程同时占用的资源,比如线程1要使用一个全局变量的时候,这时调度到了线程2,线程2改变了这个全局变量的值,这时线程1再去使用这个全局变量的时候就可能出问题。举个现实生活中的例子,A要用打印机打印很多资料,B也 ...
分类:
其他好文 时间:
2021-02-03 11:03:42
阅读次数:
0
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好了。体系相对宏大,一篇肯定写不完,容我娓娓道来,通俗地说清楚来龙去脉。一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并
分类:
数据库 时间:
2020-11-17 12:02:54
阅读次数:
12
一、synchronized原理详解 1. 设计同步器的意义 多线程可能会同时访问一个共享、可变的资源,这个资源称之为临界资源,需要同步机制来协同对象可变状态的访问,同步器的本质就是加锁,即同一时刻只能有同一个线程访问临界资源,也称为同步互斥访问 sychronized内置锁是一种对象锁(锁的是对象 ...
分类:
其他好文 时间:
2020-11-06 02:12:16
阅读次数:
18
1、同步和互斥有什么联系和区别? 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。两个线程之间不可以同时运行。访问者对资源的访问顺序是无序的。 进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个 ...
分类:
系统相关 时间:
2020-10-18 16:46:35
阅读次数:
29
一、基本概念 竞争与同步: 同一个进程中的线程能共享进程中的绝大多数资源,当它们随意竞争时可以导致资源会破坏、脏数据、不完整、不一致等问题。 通过一些方法让进程在竞争资源时相互协调,避免出现数据不完全、不一致等问题,这就叫线程同步。 临界区与临界资源: 被多个线程同时访问的代码叫临界区,被同时访问的 ...
分类:
其他好文 时间:
2020-09-18 00:57:18
阅读次数:
29
问题:程序有多少临界资源?需要多少线程锁? 临界资源是没有任何的限制 一般性原则:每一个临界资源都需要一个线程锁进行保护(一 一对应) 线程A和线程B获取线程锁的顺序是不一样的。 线程的死锁概念 -线程间相互等待临界资源而造成彼此无法继续执行 发生死锁的条件: -系统中存在多个临界资源且临界资源不可 ...
分类:
编程语言 时间:
2020-07-27 09:36:52
阅读次数:
75
1. 操作系统的四个特性 1)并发:同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者是同一时间段内的多个事件)2)共享:系统中的资源可以被内存中多个并发执行的进线程共同使用3)虚拟:通过时分复用(如分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个4)异 ...
分类:
其他好文 时间:
2020-07-21 21:34:37
阅读次数:
88
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等为什么要使用分布锁?首先,我先带你认识一下什么是锁。在单机多线程环境中,我们经常遇到多个线程访问同一个共享资源(这里需要注意的是:在很多地方,这种资源会称为临界资源,但在今天这篇文章中,我们统一称之为共享资源)的情况。为了维护数据的一致性,我们需要某种机制来保证只有满足某个条件的线程才能访问资源,不满足条件的线程只能等待,在下
分类:
其他好文 时间:
2020-07-21 11:38:32
阅读次数:
85