当前位置:网站首页 > R语言数据分析 > 正文

uchar num什么意思(num_chars什么意思)



  • 如果项目组之间需要紧密合作,那就需要共享内存,这样就像把两个项目组放在一个会议室一起沟通,会非常高效
  • 有了共享内存机制之后,两个进程就可以像访问自己内存中的变量一样,访问共享内存的变量。但是同时问题也来了,当两个进程共享内存了,就会存在同时读写问题,这就需要对共享内存进行保护,这需要信号量这样的同步机制

CreateSemaphore 获得信号量计数_信号量

一、导入头文件

二、创建或访问信号量数组 内存中没有该信号量时,创建,如果内存中有该信号量则直接访问

CreateSemaphore 获得信号量计数_函数调用_02

int semget(key_t key, int nsems, int semflg);

参数1:key 一个正整数,信号量的键值,不同的进程将通过这个值访问到同一个信号量

参数2:nsems 信号量是一个数组,nsems是数组长度,表示需要使用的信号量个数,通常取1,表示一个信号

参数3:semflg 是一组标志,其作用与open函数的各种标志相似,后面9位rwx|rwx|rwx权限位,其作用相当于文件的的访问权限.shmflag如果为IPC_CREAT,就表示新创建,还可以指定读写权限0777。

函数调用方式:int semid=sem_create((key_t)1003,1);

三、信号量赋值操作

CreateSemaphore 获得信号量计数_函数调用_03

int semctl(int semid, int semnum, int cmd, ...);

CreateSemaphore 获得信号量计数_函数调用_04

CreateSemaphore 获得信号量计数_函数调用_05

参数1:int semid 信号量id,也就是 封装好的sem_create()函数的返回值

参数2:int semnum 信号量数组下标,信号量唯一时,semnum=0,表示第0个位置

参数3:cmd也是一个标识符集,有很多选择,表示将要采取的操作动作。给信号量赋值时选择SETVAL

CreateSemaphore 获得信号量计数_信号量_06

参数4:"union semun " 联合体,给联合体的元素val赋值为信号量需要的值,然后直接在semctl()函数的第4个参数位填入定义的联合体。val值一般设置为1.

函数调用方式:sem_ctl(semid,0,1);

四、信号量PV操作 类似函数,P是-1操作,V是+1操作。信号量初值为1,执行过P操作,就不能再次执行P操作,因为规定信号量的值必须正整数。类似于阻塞效果,只能等执行过V操作,才能再次执行P操作。

CreateSemaphore 获得信号量计数_共享内存_07

//改变信号量的值

int semop(int semid, struct sembuf *sops, size_t nsops);

参数1:semid:该信号量的id值

参数2:struct sembuf *sops 是一个指向结构体数值的指针

参数3:size_t nsops默认取1

函数调用方式:P操作 sem_p(semid,0);

V操作sem_v(semid,0);表示,将id=semid的信号量的第0个下标上的值执行对应操作。

到此这篇uchar num什么意思(num_chars什么意思)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • resnet50和resnet101区别(resnet50和resnet18)2025-06-28 23:45:05
  • oracle教程(oracle教程文档)2025-06-28 23:45:05
  • ueditor最新版本(ueditor编辑器)2025-06-28 23:45:05
  • impdp参数transform(impdp参数content)2025-06-28 23:45:05
  • cruise安装步骤(cruise2014安装教程)2025-06-28 23:45:05
  • spring教程(spring教程入门)2025-06-28 23:45:05
  • ardbeg怎么读(argued怎么读?)2025-06-28 23:45:05
  • zipsigner签名教程(zip signature)2025-06-28 23:45:05
  • redhat 重置root密码(redhat8重置root密码)2025-06-28 23:45:05
  • jvisualvm分析hprof(jvisualvm分析hprof文件)2025-06-28 23:45:05
  • 全屏图片