写在前面 很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢? 前言 在《【高并发】优化加锁方式时竟然死锁了!!》一文中,我们介绍了产生死锁时的四个必要条件,只有四个条件同时具备时才能发生死锁。其中,我们在阻止请求与保持条件时,采用 ...
目录 内核中的并发和竞争简介 原子操作 原子操作简介 整型原子操作函数 位原子操作函数 原子操作例程 自旋锁 自旋锁简介 自旋锁操作函数 自旋锁例程 读写自旋锁 读写锁例程 顺序锁 顺序锁操作函数 自旋锁使用注意事项 信号量 信号量简介 信号量操作函数 信号量例程 互斥体 互斥体简介 互斥体操作函数 互斥体例程 互斥体与自旋锁 互斥体使用注意事项 内核中的并发和竞争简介 在早期的 Linux内核 ...
2020-12-26 15:53 0 331 推荐指数:
写在前面 很多时候,我们在并发编程中,涉及到加锁操作时,对代码块的加锁操作真的合理吗?还有没有需要优化的地方呢? 前言 在《【高并发】优化加锁方式时竟然死锁了!!》一文中,我们介绍了产生死锁时的四个必要条件,只有四个条件同时具备时才能发生死锁。其中,我们在阻止请求与保持条件时,采用 ...
写在前面 在前面的《【高并发】Redis如何助力高并发秒杀系统?看完这篇我彻底懂了!!》一文中,我们以高并发秒杀系统中扣减库存的场景为例,说明了Redis是如何助力秒杀系统的。那么,说到Redis,往往更多的场景是被用作系统的缓存,说到缓存,尤其是分布式缓存系统,在实际高并发场景下,稍有 ...
Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建 ...
作者:地母格格 www.zhihu.com/question/22357547/answer/129871099 前言 作为一个资(da)深(ling)HR,此题不要太有感悟! 长文, ...
你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法 ...
写在前面 最近,有不少读者说看了我的文章后,学到了很多知识,其实我本人听到后是非常开心的,自己写的东西能够为大家带来帮助,确实是一件值得高兴的事情。最近,也有不少小伙伴,看了我的文章后,顺利拿 ...
所谓高并发,就是同一时间有很多流量(通常指用户)访问程序的接口、页面及其他资源,解决高并发就是当流量峰值到来时保证程序的稳定性。如何做到高并发优化 我们一般用QPS(每秒查询数,又叫每秒请求数)来衡量程序的综合性能,数值越高越好,一般需要压测(ab工具)得到数据。 假设我们的一个进程(也可以是 ...
前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。 SnowFlake算法 据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子组成。 ...