当前位置: 首页 > news >正文

闲鱼网站是哪家公司做的价格低的英文

闲鱼网站是哪家公司做的,价格低的英文,找手工活外发加工去哪个平台,网络营销培训哪个好点信号量本质上是一个非负的整数计数器#xff0c;也是UNIX中古老的实现进程互斥和同步的手段#xff0c;Linux下信号量概念是在线程中#xff0c;信号则在进程控制中#xff0c;不过原理差不多#xff0c;最基本最经典的操作莫过于P、V操作了#xff0c;能实现进程、线程的…信号量本质上是一个非负的整数计数器也是UNIX中古老的实现进程互斥和同步的手段Linux下信号量概念是在线程中信号则在进程控制中不过原理差不多最基本最经典的操作莫过于P、V操作了能实现进程、线程的互斥和同步操作非常值得深入理解。1.P、V操作原语  P操作  proceduce P(var s:semaphore) {   begin       s:s-1;       if(s0)then W(s);   end } V操作  proceduce V(var s:semaphore) {   begin       s:s1;       if(s0)then R(s);   end } 2.基本操作 数据类型信号量的数据类型为结构sem_t它本质上是一个长整型的数。 函数 1sem_init 功能         用于创建一个信号量并初始化信号量的值。 头文件       semaphore.h 函数原型     int sem_init (sem_t* sem, int pshared, unsigned int value); 函数传入值   sem:信号量。                    pshared:决定信号量能否在几个进程间共享。由于目前LINUX还没有实现进                                程间共享信息量所以这个值只能取0。                    value初始计算器 函数返回值   0成功。                    -1失败。 2其他函数。 //等待信号量 int sem_wait       (sem_t* sem); int sem_trywait   (sem_t* sem); //发送信号量 int sem_post       (sem_t* sem); //得到信号量值 int sem_getvalue (sem_t* sem); //删除信号量 int sem_destroy   (sem_t* sem); 功能sem_wait和sem_trywait相当于P操作它们都能将信号量的值减一两者的区别在         于若信号量的值小于零时sem_wait将会阻塞进程而sem_trywait则会立即返回。         sem_post相当于V操作它将信号量的值加一同时发出唤醒的信号给等待的进程        或线程。         sem_getvalue 得到信号量的值。         sem_destroy 摧毁信号量。 函数传入值 sem:信号量。 函数返回值 同上。 好了了解完基本操作继续做一个练习 这里用信号量实现互斥资源访问的功能   /*sem.c*/  #include stdlib.h     #include stdio.h     #include pthread.h     #include semaphore.h   #include errno.h        /*全局变量*/  int gnum 0;   /*信号量*/  sem_t sem;   /*声明线程运行服务程序*/  static void pthread_func_1 (void);      static void pthread_func_2 (void);           int main (void)      {       /*线程的标识符*/    pthread_t pt_1 0;        pthread_t pt_2 0;        int ret 0;          /*信号量初始化*/    sem_init(sem,0,1);     /*分别创建线程1、2*/    ret pthread_create (pt_1,          //线程标识符指针                            NULL,          //默认属性                           (void *)pthread_func_1,//运行函数                           NULL);          //无参数     if (ret ! 0)        {           perror (pthread_1_create);        }             ret pthread_create (pt_2,          //线程标识符指针                           NULL,           //默认属性                             (void *)pthread_func_2, //运行函数                           NULL);          //无参数     if (ret ! 0)        {           perror (pthread_2_create);        }        /*等待线程1、2的结束*/    pthread_join (pt_1, NULL);        pthread_join (pt_2, NULL);             printf (main programme exit!/n);       return 0;      }        /*线程1的服务程序*/  static void pthread_func_1 (void)      {        int i 0;                for (;;)        {          printf (This is pthread1!/n);           sem_wait(sem);     /*等待信号量*/          sleep (1);        /*临界资源*/      gnum;       printf (Thread1 add one to num:%d/n,gnum);              sem_post (sem);        /*释放信号量*/                }      }      /*线程2的服务程序*/    static void pthread_func_2 (void)      {        int i 0;             for (;;)        {          printf (This is pthread2!/n);        sem_wait(sem);     /*等待信号量*/      sleep (1);       /*临界资源*/      gnum;       printf (Thread2 add one to num:%d/n,gnum);              sem_post (sem);        /*释放信号量*/         }             pthread_exit (0);      } 编译运行可以看出和上次互斥锁结果一样的
http://wiki.neutronadmin.com/news/125630/

相关文章:

  • 只做衬衣网站襄阳网站seo诊断
  • 学做效果图网站有哪些软件有哪些网上购物管理系统设计与实现
  • 成都酒店网站建设做网站设计工资多少钱
  • 网上书城网站开发的目的与意毕业设计 建设旅游网站
  • 庆阳网站哪里做我国省级档案网站建设状况
  • 无锡网站建设选众鼎问答类咨询网站的建设
  • 活动策划网站有哪些泰安市齐鲁人才网
  • 国外 上海网站建设织梦软件展示网站
  • 网站建设过程规划appstore关键词优化
  • 网站开发有哪些技术wordpress 爬虫
  • wordpress 微网站盐田区住房和建设局网站
  • 做网站怎么防止被网警查到适合35岁女人的培训班
  • 兰州企业网站排名优化电子硬件工程师培训机构
  • 台州平台网站建设微信开发者工具官网下载电脑版
  • 丰台网站建设是什么做微博推广的网站
  • 平台建站建设河北人工智能建站系统软件
  • 网站建设 软件企业成都龙泉工程建设有限公司网站
  • 安徽省建设安全质量协会网站金溪网站建设推广
  • 如何调整网站板块位置重庆网站建设工作室
  • php网站后台地址wordpress 截取
  • 网站空间怎么回事html5经管网站模板
  • 网站主服务器ip地址高端网站制作怎么样
  • 自建营销型网站模板网站开发网站建设
  • 添加网站图标个人如何做微信小程序
  • 小型网站制作深圳NET网站开发工程师网站招聘
  • 租房网站开发移动互联网开发实训报告
  • 互联网网站建设收费网站制作的公
  • 做网站公司找哪家公司建立网站团队
  • 青海微信网站建设aws 建网站
  • 网站界面设计的原则广告设计公司文案