- 是什么 什么是可重入函数,什么是不可重入函数? 不可重入函数: 在并发服务器中,经常会出现多个任务调用同一个函数的情况,比方说后端服务器使用多线程同时对数据库进行访问操作。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 (其实也没什么不可预料的,就是... 是什么 什么是可重入函数,什么是不可重入函数? 不可重入函数: 在并发服务器中,经常会出现多个任务调用同一个函数的情况,比方说后端服务器使用多线程同时对数据库进行访问操作。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 (其实也没什么不可预料的,就是...
- 怎么做(文中所有蓝色字体都可以点击进去) 前面提到进程间通信的几种方式这里进行一个铺开 1.半双工管道 由于管道仅仅是将一个进程的读端和另一个进程的写端连通的单通信方法,所以又叫“半双工管道”。在shell中管道用“|”表示。 管道的历史很悠久了。 管道部分这篇讲的清楚了,栗子也在里面,我就留着篇幅写别的啦。 2.消息队列 是什么 1、消息队列是内核地址空... 怎么做(文中所有蓝色字体都可以点击进去) 前面提到进程间通信的几种方式这里进行一个铺开 1.半双工管道 由于管道仅仅是将一个进程的读端和另一个进程的写端连通的单通信方法,所以又叫“半双工管道”。在shell中管道用“|”表示。 管道的历史很悠久了。 管道部分这篇讲的清楚了,栗子也在里面,我就留着篇幅写别的啦。 2.消息队列 是什么 1、消息队列是内核地址空...
- 文章目录 文件安装①同项目工程文件夹形式②第三方库形式 库接口使用示例(伪代码) 文件 链接:https://pan.baidu.com/s/1Y0JutBYsMlwmSjoLcTlkSw 提取码:j9hn 安装 这里给两种方法。 不弄动态加载库。 ①同项目工程文件夹形式 将资源文件放在当前项目工程文件下,编译指令:g++ *.cpp -o ... 文章目录 文件安装①同项目工程文件夹形式②第三方库形式 库接口使用示例(伪代码) 文件 链接:https://pan.baidu.com/s/1Y0JutBYsMlwmSjoLcTlkSw 提取码:j9hn 安装 这里给两种方法。 不弄动态加载库。 ①同项目工程文件夹形式 将资源文件放在当前项目工程文件下,编译指令:g++ *.cpp -o ...
- 之前在看gevent的时候不小心又看到了这个模块,gevent其实并不是python官方的标准库,有一些缺陷,所以这个时候Asyncio出现了。 这是官网也非常推荐的一个实现高并发的一个模块。在python3.6中已经稳定支持了。 首先要做的事情: Asyncio是干嘛的? 异步,并发,协程 CPU 的执行是顺序的,线程是操作系统提供的一种机制,允许我们在... 之前在看gevent的时候不小心又看到了这个模块,gevent其实并不是python官方的标准库,有一些缺陷,所以这个时候Asyncio出现了。 这是官网也非常推荐的一个实现高并发的一个模块。在python3.6中已经稳定支持了。 首先要做的事情: Asyncio是干嘛的? 异步,并发,协程 CPU 的执行是顺序的,线程是操作系统提供的一种机制,允许我们在...
- #服务端技术进阶( 四)一篇文读懂分布式系统本质:高吞吐、高可用、可扩展 ##承载量是分布式系统存在的原因 当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一... #服务端技术进阶( 四)一篇文读懂分布式系统本质:高吞吐、高可用、可扩展 ##承载量是分布式系统存在的原因 当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一...
- 看到这篇文章写得非常清晰明了,特意转载留存学习 第1章 多线程 1.1 多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念。 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线... 看到这篇文章写得非常清晰明了,特意转载留存学习 第1章 多线程 1.1 多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念。 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线...
- 定义及特征 进程 指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。 进程的特征: 1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。2.并发性:任何进程都可以同其他进程一起并发执行。3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。4.异步性:... 定义及特征 进程 指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。 进程的特征: 1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。2.并发性:任何进程都可以同其他进程一起并发执行。3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。4.异步性:...
- #Java进阶(四十三)线程与进程的区别 ##1、线程的基本概念 概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。 好处: (1)... #Java进阶(四十三)线程与进程的区别 ##1、线程的基本概念 概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。 好处: (1)...
- 剑指Offer——简述堆和栈的区别 堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建; Java虚拟机规范描述:所有的对象实例及数组都要在堆上分配; Java堆可以处于物理上不连续的内存空间,只要逻辑上连续即可; &nb... 剑指Offer——简述堆和栈的区别 堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建; Java虚拟机规范描述:所有的对象实例及数组都要在堆上分配; Java堆可以处于物理上不连续的内存空间,只要逻辑上连续即可; &nb...
- 目录 7.1 信号的概念 7.2 进程处理信号行为 7.3 信号集处理函数 7.4 阻塞信号集 7.5 信号捕捉设定 7.6 C标准库信号处理函数 7.7 SIGCHLD信号处理 7.1 信号的概念 什么是信号: 信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。 信号的特点: 简单,不能... 目录 7.1 信号的概念 7.2 进程处理信号行为 7.3 信号集处理函数 7.4 阻塞信号集 7.5 信号捕捉设定 7.6 C标准库信号处理函数 7.7 SIGCHLD信号处理 7.1 信号的概念 什么是信号: 信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。 信号的特点: 简单,不能...
- 文章目录 唠嗑唠嗑这点我以前确实没想过每个类都配备测试代码,烦不烦啊你?行吧,我写,那怎么写啊?继承下的测试 唠嗑唠嗑 今晚我从外面散步回来,路上就在想,今天学习的这个《重构》,写了两篇,好像也没什么新东西收获啊。 现在有了。今晚看到这句话:每一个类,都应该有自己的测试代码!我觉得,今天学习到的东西,很好! 当然我这个标题能被搜到的可能性不高... 文章目录 唠嗑唠嗑这点我以前确实没想过每个类都配备测试代码,烦不烦啊你?行吧,我写,那怎么写啊?继承下的测试 唠嗑唠嗑 今晚我从外面散步回来,路上就在想,今天学习的这个《重构》,写了两篇,好像也没什么新东西收获啊。 现在有了。今晚看到这句话:每一个类,都应该有自己的测试代码!我觉得,今天学习到的东西,很好! 当然我这个标题能被搜到的可能性不高...
- 目录: 1、文件I/O 1.1 ---- C标准函数与系统函数的区别 1.2 ---- PCB概念 1.3 ---- open/close 1.4 ---- read/write 1.5 ---- 阻塞和非阻塞 1.6 ---- lseek 1.7 ---- fcntl 1.8 ----ioctl 1.1 C标准函数与系统函数的区别 ... 目录: 1、文件I/O 1.1 ---- C标准函数与系统函数的区别 1.2 ---- PCB概念 1.3 ---- open/close 1.4 ---- read/write 1.5 ---- 阻塞和非阻塞 1.6 ---- lseek 1.7 ---- fcntl 1.8 ----ioctl 1.1 C标准函数与系统函数的区别 ...
- 共享内存(这是IPC最快捷的方式) 是什么 我的第一个服务器项目分了前后端,而其中前后端的数据通讯就是使用shm共享内存的方式,所以对于这块会比较有感觉。 1、共享内存是在多个进程之间共享内存区域的一种进程间的通信方式。 2、它是在多个进程间通过对指定内存段进行映射实现内存共享的。 3、这是IPC最快捷的方式,因为它没有中间商赚差价。 4、多个进程间共享的是同一块... 共享内存(这是IPC最快捷的方式) 是什么 我的第一个服务器项目分了前后端,而其中前后端的数据通讯就是使用shm共享内存的方式,所以对于这块会比较有感觉。 1、共享内存是在多个进程之间共享内存区域的一种进程间的通信方式。 2、它是在多个进程间通过对指定内存段进行映射实现内存共享的。 3、这是IPC最快捷的方式,因为它没有中间商赚差价。 4、多个进程间共享的是同一块...
- 稍安勿躁。 先解决问题 如果你是在网上辗转而不得其解,那就来我这儿吧。 之前那篇写的比较急,讲的还是蛮有条理的,就是东西少了点,这篇一次性写完。 那天,我和共享内存、shmid不眠不休只吃一点喝一点奋战了十个小时,只为了把我的项目进度赶在大家前面,却被进程间通信始终无法打通而拦住。解决问题之后,有感而作。 如果放在今天,我会选择采用TCP流协议的方式来进行... 稍安勿躁。 先解决问题 如果你是在网上辗转而不得其解,那就来我这儿吧。 之前那篇写的比较急,讲的还是蛮有条理的,就是东西少了点,这篇一次性写完。 那天,我和共享内存、shmid不眠不休只吃一点喝一点奋战了十个小时,只为了把我的项目进度赶在大家前面,却被进程间通信始终无法打通而拦住。解决问题之后,有感而作。 如果放在今天,我会选择采用TCP流协议的方式来进行...
- 文章目录 什么是分布式锁?通过 Redis 分布式锁的实现理解基本概念加锁:解锁锁超时 redis分布式锁实现及各种问题解析SETNX原始代码第一把锁第二把锁第三把锁第四把锁第五把锁 结束语 什么是分布式锁? 为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布... 文章目录 什么是分布式锁?通过 Redis 分布式锁的实现理解基本概念加锁:解锁锁超时 redis分布式锁实现及各种问题解析SETNX原始代码第一把锁第二把锁第三把锁第四把锁第五把锁 结束语 什么是分布式锁? 为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布...
上滑加载中
推荐直播
-
HDC深度解读系列 - AI时代的华为开发者空间
2025/07/24 周四 16:30-18:00
Edwin 华为开发者空间产品总监 姚圣伟 HCDG天津核心组代表&HCDE
继HDC发布开发者空间新特性后,本期直播聚焦华为开发者空间核心升级,邀您一起深度解读其如何赋能AI时代智能应用开发,解锁开发新体验
回顾中 -
精细锐利的华为云上权限控制
2025/07/31 周四 16:30-18:00
阿肯-华为云生态技术讲师
IAM是华为云上核心安全服务,我们用的对吗?最佳实践是怎样?一堂课把IAM充分拆解。精细化控制,实现远比想象简单!
回顾中
热门标签