前面篇幅讲了很多理论及原理性东西,今天想了想,来点现实场景的东西把前面的内容串一串 一. 死锁产生的原因 1) 系统资源的竞争 通常系统中拥有的不可剥夺资源,其数量不足以满足多个进程运行的需要,使得进程在 运行过程中,会因争夺资源而陷入僵局,如磁带机、打印机等。只有对不可剥夺资源的竞争 才可能产生死 ...
分类:
编程语言 时间:
2020-10-08 18:06:58
阅读次数:
19
概述 定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,传统的计算机资源(CPU、IO、RAM)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发的访问的一致性、有效性是所有的数据库必须解决的一个问题,锁冲突也是数据库并发访问的性能的一个重要因素。从这个角度来说,锁是 ...
分类:
其他好文 时间:
2020-09-23 23:25:36
阅读次数:
38
MySQL高级学习之表锁 参考文章: MySQL高级知识(十三)——表锁 1.概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有 ...
分类:
数据库 时间:
2020-09-18 17:11:17
阅读次数:
65
程序和进程的关系 程序:保存在硬盘、光盘等介质中的可执行代码和数据 静态保存的代码 进程:在CPU及内存中运行的程序代码 动态执行的代码 PS:父子进程:每个程序可以创建一个或多个进程 查看进程 ps a 显示当前终端下的所有进程信息 u 显示以用户为主的格式来显示进程信息 x 显示当前用户在所有终 ...
分类:
系统相关 时间:
2020-09-17 17:08:30
阅读次数:
33
线程基础 我们运行一个exe,就是一个进程实例,系统中有很多个进程。每一个进程都有自己的内存地址空间,每个进程相当于一个独立的边界,有自己的独占的资源,进程之间不能共享代码和数据空间。 每一个进程有一个或多个线程,进程内多个线程可以共享所属进程的资源和数据,线程是操作系统调度的基本单元。线程是由操作 ...
分类:
编程语言 时间:
2020-08-10 18:32:48
阅读次数:
78
这节讲一下多线程(Thread)技术。 在讲线程之前,先区分一下程序,进程,线程三者的区别,大体上说,一个程序可以分为多个进程,一个进程至少由一个线程去执行,它们是层层包含的关系。我们写的程序,就是一个进程,多个进程,以完成一个用户服务,或者完成一个大的界面展现,就组成一个程序,但在CPU层面,只有 ...
分类:
编程语言 时间:
2020-08-05 23:24:31
阅读次数:
104
进程:操作系统资源分配的基本单位,一个进程可以有多个线程线程:任务调度和执行的基本单位,线程是进程的一部分内存分配:进程:系统运行的时候为每个进程分配不同的内存空间,线程:线程所使用的资源是它所属的进程的资源进程:正在执行的程序。 多个进程同时执行,顺序是随机的。程序:没有执行的代码 永久性 死锁: ...
分类:
编程语言 时间:
2020-07-31 19:24:17
阅读次数:
93
在现代计算机上,一个任务的完成,往往需要多个进程协调,这时进程间如何交流就成了必须解决的问题。实现进程间通信(IPC)有很多方法,下面简单介绍一下各个通讯方式的原理,不讲具体代码实现。 管道 管道一般指无名管道(还有另一种叫有名管道),是Unix系统最古老的进程通信方式。管道通信有以下特点: ? 管 ...
分类:
系统相关 时间:
2020-07-26 23:09:49
阅读次数:
97
作为一名合格的程序猿/媛,对于进程、线程还是有必要了解一点的,本文将从下面几个方向进行梳理,尽量做到知其然并知其所以然: 进程和线程的概念和关系 进程演进 进程间通信 理解底层基础,助力上层应用 进程保护 进程和线程的概念和关系 用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多 ...
分类:
系统相关 时间:
2020-07-24 16:40:45
阅读次数:
92
需求: 1、在访问某些二进制文件时,希望能把文件映射到内存中去,可以实现随机访问.(framebuffer设备文件) 2、某些嵌入式设备,寄存器被编址到内存地址空间,我们可以映射/dev/mem某范围,去访问这些寄存器。 3、如果多个进程映射同一个文件,还能实现进程通信的目的 思路: 使用标准库中的 ...
分类:
其他好文 时间:
2020-07-15 01:29:45
阅读次数:
107