【操作系统】
小呀小二笙
斯人若彩虹,遇上方知有~~~
展开
-
多线程入门概述
进程与线程进程进程是包含程序指令和相关资源的集合,每个进程和其他进程一起参与调度,竞争CPU、内存等系统资源。每个进程都有一个非负整型表示的唯一进程ID进程是系统资源进行资源分配和调度的一个独立的单位线程“轻量级进程”,是一个基本的CPU执行单元,也是程序执行流的最小单元线程只是进程中的一个实体,是系统独立调度的单元,线程本身不拥有系统资源,但是它可以与同属一个进程的其他线程共...原创 2019-01-05 15:16:44 · 164 阅读 · 0 评论 -
多线程学习
多线程入门概述文章目录向线程传递参数打印线程id线程属性多线程同步互斥锁条件变量读写锁信号量多线程重入向线程传递参数1.如果线程调用的函数在一个类中时,应该把该函数写成静态成员函数class Hello {public: static void* say_hello(void * args) { printf("hello from thread\n"); pthread_...原创 2019-02-21 18:42:42 · 208 阅读 · 0 评论 -
Linux进程基本概念
进程与程序进程是计算机中处于运行中程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序(指令和数据)的真正运行实例。多个进程可与同一个程序相关联,而每个进程则是以同步或异步的方式独立运行的。Linux的进程结构在LinuxLinuxLinux中,进程结构一般由3部分组成:代码段、数据段和堆栈段。代码段:用于存放程序代码的数据数据段:存放程序的全局变量、常量和静态变量堆...原创 2019-02-23 22:02:32 · 220 阅读 · 0 评论 -
僵尸进程与守护进程
僵尸进程在UNIXUNIXUNIX/LinuxLinuxLinux中,正常情况下,子进程是通过父进程创建的,子进程再创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程无法预测子进程到底什么时候结束。于是就产生了孤儿进程与僵尸进程。孤儿进程:指一个父进程退出后,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被initinitinit进程(进程号为1)所收养...原创 2019-02-24 17:22:28 · 320 阅读 · 0 评论 -
线程池的简单实现 (Linux C++)
实现一个线程池,必须了解线程池的基本概念。githubgithubgithub地址:threadpool什么是线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池工作机制在线程池的编程模式下,任务是提交给整个线程池,而不是直接提交给某个线程,线程池在拿到任务后,就在内部寻找是否有空闲的线程,如果有,则将任务交给某个空闲的线程。...原创 2019-02-28 16:50:10 · 208 阅读 · 0 评论 -
进程间通信(一) 管道、FIFO
进程间通信,就是在不同进程之间传播或交换信息;而这些信息的传播又需要介质,所以我们想要了解进程间通信,首先必须了解这些介质。UNIXUNIXUNIX系统中实现进程间通信的方法有很多,但不幸的是,极少方法能在所有的UNIXUNIXUNIX系统中进行移植(唯一一种是半双工的管道,这也是最原始的一种通信方式).我们要学习的是LinuxLinuxLinux下的进程间通信,LinuxLinuxLinux...原创 2019-03-03 17:37:22 · 278 阅读 · 0 评论 -
进程间通信(二)消息队列
消息队列用于运行于同一台机器上的进程间通信,它和管道和相似,是一个在系统内核中用来保存消息的队列,它在系统内核中是以消息链表的形式出现。消息链表中节点的结构用msgmsgmsg声明。消息队列(1)创建新消息队列或取得已存在消息队列,函数原型:int msgget(key_t key, int msgflg);1)参数keykeykey可以认为是一个端口号,也可以由函数ftokftokf...原创 2019-03-03 19:58:25 · 154 阅读 · 0 评论 -
进程间通信(三)共享内存
共享内存,顾名思义就是允许两个不相关地进程访问同一个逻辑内存。共享内存是在两个正在运行地进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排在同一段物理内存中;进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址。不过,共享内存并未提供同步机制,也就是说,在第一个进程对共享内存的写操作结束之前,并无自动机制可以阻止第二个进程对它进行读取。...原创 2019-03-03 20:29:21 · 251 阅读 · 0 评论 -
进程间通信(四)信号量
在多线程同步的方式中包含了信号量这一同步方法,但用于多线程同步的信号量是POSIXPOSIXPOSIX信号量,而用于进程间通信的则是SYSTEMSYSTEMSYSTEM VVV信号量,本质上说这两种都是用户态进程可以使用的信号量。创建信号量(1)在LinuxLinuxLinux中,使用函数semgetsemgetsemget来创建和打开信号量,函数原型:#include <sys/ty...原创 2019-03-03 21:11:12 · 180 阅读 · 0 评论