自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 继承

继承:是面向对象程序设计中使代码可以复用的重要手段,它允许程序员在原有类特性的基础上进行扩展增加功能。这样产生的新的类叫派生类。继承体现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。格式class DerivedClassName : access_label BaseClassName派生类名字 : 继承权限 父类名字继承关系public(is -a)可以把子类对象看...

2020-04-27 20:17:17 88

原创 sem线程信号量

sem线程信号量线程信号量使用步骤:(1)定义信号量集合(如:sem_t sem[3]);注:线程信号量集合其实就是一个数组,数组每个元素就是一个信号量。(2)初始化集合中的每个信号量;(3)p、v操作;(4)进程结束时,删除线程信号量集合。1、sem_init初始化信号量1、头文件:#include <semaphore.h>2、函数原型:int sem_init(...

2020-04-15 08:26:34 323

原创 mutex线程互斥锁

mutex线程互斥锁1、pthread_mutex_init初始化互斥锁1、头文件:#include<pthread.h>2、函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);3、函数形参: mutex:互斥锁地址(需自定...

2020-04-15 08:25:59 214

原创 pthread_cancel/exit(线程退出)

pthread_cancel/exit(线程退出)1、头文件:#include<pthread.h>2、函数原型:被动退出:int pthread_cancel(pthread_t thread);主动退出:void pthread_exit(void *retval); //或使用return直接返回注:pthread_exit类似于exit函数,不过exit是终止整个...

2020-04-15 08:25:14 1896

原创 pthread_join(线程等待)

pthread_join(线程等待)1、头文件:#include<pthread.h>2、函数原型:int pthread_join(pthread_t thread, void **retval);3、函数形参: thread:指定要回收的次线程的TID;retval:次线程函数返回的返回值。4、函数返回值:成功返回0,失败返回错误号。5、功能:阻塞等待TID为threa...

2020-04-15 08:24:44 854

原创 pthread_create(线程创建)

pthread_create(线程创建)1、头文件:#include<pthread.h>2、函数原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);3、函数形参:thread:存放线程的TID(由pthre...

2020-04-15 08:23:56 493

原创 sig(信号)

sig(信号)1、信号的产生:①一个进程向另一进程发送信号;②内核发送信号;③底层硬件发送信号。2、kill 进程号-s sig选项,例:kill 3973 -s SIGKILL 使3973进程终止。注:(1)进程号查询,例:ps –axf | grep demo (其中,demo是正在执行的可执行文件)。(2)在while(1)死循环中,ctrl + C 等价于sig选项的SIGINT(...

2020-04-15 08:23:01 1348

原创 成员函数、属性

成员函数、属性1、对私有属性添加set/get方法2、类内初始化3、static关键字1、static修饰类的成员(1)每一个对象都可调用同一个类的成员,实现共享,但一定要在类外初始化。(2)类的成员定义:也称为静态成员,属于类,不属于某个具体的对象。(3)类的成员访问形式:①对象名.类成员名;②类名::类成员名。注:第②种不需要先实例对象再访问,即下方示例第一条语句。(4)使用...

2020-04-13 15:47:18 507

原创 sem(信号量API)

sem(信号量API)1、作用:当多个进程/线程进行共享操作时,用于资源保护(互斥+同步操作),以防止出现相互干扰的情况,解决方法为加锁。注:互斥:该进程在操作时其他进程不能操作,不关心操作的顺序问题;同步:多个共享操作时,进程必须要有统一操作的步调,按照一定的顺序来操作。2、信号量的使用步骤:(1)进程调用semget函数创建新的信号量集合,或者获取已有的信号量集合;(2)调用sem...

2020-04-02 08:59:53 618

原创 msg(消息队列API)

msg(消息队列API)1、消息队列的特点:(1)传送有格式的消息流;(2)多进程网状交叉通信时,消息队列是上上之选;(3)能实现大规模数据的通信。1、msgget(创建/获取消息队列)1、头文件:#include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>2、函数原型:int m...

2020-04-02 08:59:10 1442

原创 shm(共享内存API)

shm(共享内存API)1、共享内存的特点:(1)减少进入内核空间的次数;(2)直接使用地址来读写缓存时,效率会更高,适用于大数据量的通信。2、共享内存的使用步骤:(1)进程调用shmget函数,创建新的或获取已有共享内存;(2)进程调用shmat函数,将物理内存映射到自己的进程空间;(3)进程调用shmdt函数,取消共享内存的映射;(4)进程调用shmctl函数,释放开辟的那片物...

2020-04-02 08:58:14 1570

原创 exec函数簇(创建进程)

exec函数簇(创建进程)1、 头文件:#include <unistd.h>2、 函数原型:int execl(const char *path, const char *arg,(char *) NULL);int execv(const char *path, char *const argv[]);注:一般execv + fork 配合使用。3、 函数形参:path...

2020-04-02 08:57:24 669

原创 stat与fstat(获取文件信息)

stat与fstat(获取文件信息)1、头文件:#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>2、函数原型:int stat(const char *pathname, struct stat *statbuf);int fstat(int fd, struct stat *st...

2020-04-02 08:56:22 325

原创 mmap(存储映射)

mmap(存储映射)1、头文件:#include <sys/mman.h>2、函数原型:void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);3、函数形参:addr:指定文件应被映射到的进程空间的起始地址;length:共享内存映射的有效文件大小(字节数),须<=文...

2020-04-02 08:55:24 368

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除