Linux C与C++一线开发实践
文章平均质量分 87
超級码力
Keep Reading , Keep Writing , Keep Coding.
展开
-
【Linux C与C++一线开发实践】之六 多线程高级编程
在多线程编程中,所有的线程都是并发、并行并且是异步执行的。这样就带来了线程间资源竞争的无序性,因此,我们需要引入同步机制来消除这种复制度并实现线程间的数据共享,以一致的顺序执行一组操作。场景:多个线程对同一临界区做操作。利用POSIX多线程API函数进行线程同步POSIX提供了3种方式进行线程同步,即互斥锁、读写锁和条件变量。1.互斥锁互斥锁的原理是同一时刻,只允许一个线程对临界区进行访问。其工作流程是:初始化一个互斥锁,在进入临界区前把互斥锁加锁,退出临界区时把互斥锁解锁,最后不用了就销毁它,这4原创 2021-03-17 23:51:51 · 489 阅读 · 2 评论 -
【Linux C与C++一线开发实践】之五 多线程基本编程
123原创 2021-03-10 23:53:43 · 600 阅读 · 0 评论 -
【Linux C与C++一线开发实践】之四 Linux进程间的通信
Linux中的进程为了能在同一项任务上协调工作,它们彼此之间必须能够进行通信。下面主要介绍Linux常用的3种通信方式:信号、管道和消息队列。 效果差别不大,熟练一种基本可以应对一般的一线开发场景了。(这里讲的进程间通信是指同一台物理机上多个进程间通信,跨机器一般是socket通信)信号...原创 2021-03-06 16:58:11 · 467 阅读 · 0 评论 -
【Linux C与C++一线开发实践】之三 Linux多进程
进程是操作系统结构的基础。进程是一个具有独立功能的程序对某个数据集在处理机上的执行过程,进程也是作为资源分配的一个基本单位。Linux作为一个多用户、多任务的操作系统,必定支持多进程。多进程是现代操作系统的基本特征。一个进程也可以通俗理解为就是我们运行的一个独立的程序。进程的创建1.使用fork创建进程由fork创建的新进程被称为子进程。该函数调用一次,但返回两次。两次返回的区别是在子进程中返回值是0,而在父进程中返回值是子进程的PID。如果失败,则在父进程程序中返回-1,并且可以通过errno得到错原创 2021-03-03 23:58:51 · 711 阅读 · 1 评论 -
【Linux C与C++一线开发实践】之二 Linux文件系统
文件系统是操作系统中负责管理和存储文件的软件系统。当我们在Linux下查看根目录下的内容时,见到很多的目录文件,那么这么都是一些什么文件呢?下面我们来先了解下:目录名存放的内容/根目录/bin必备的用户命令程序,例如ls、cp等/bootLinux启动时用到的一些文件,如/boot/vmlinuz为Linux内核文件/sbin必备的系统管理员命令,如:ifconfig、reboot等/dev设备文件,如mtdblock0、tty1等/etc系原创 2020-09-26 00:57:40 · 891 阅读 · 0 评论 -
【Linux C与C++一线开发实践】之一 Linux概述与Linux C++开发
Linux系统启动的基本过程对于一台Linux系统来说,用户按下开机按钮后,一共要经历如下几个过程。#mermaid-svg-RkhQG4sawKPJZv3s .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-RkhQG4sawKPJZv3s .label text{fill:#333}#mermaid-svg原创 2020-09-23 21:16:04 · 2642 阅读 · 0 评论