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

h5个人网站模板网站开发步骤规划

h5个人网站模板,网站开发步骤规划,搜索技巧的网站,如何做网络推广员互斥指互相排斥的锁#xff0c;是一种信号量#xff0c;常用来防止两个进程或线程在同一时刻访问相同的共享资源 1.数据类型#xff1a; 在Linux下, 线程的互斥量数据类型是pthread_mutex_t#xff0c;我们定义一个互斥数据可以这样#xff1a; pthread_mutex_t mutex; 2.…互斥指互相排斥的锁是一种信号量常用来防止两个进程或线程在同一时刻访问相同的共享资源 1.数据类型 在Linux下, 线程的互斥量数据类型是pthread_mutex_t我们定义一个互斥数据可以这样 pthread_mutex_t mutex; 2.函数说明 头文件     pthread.h 1.互斥锁初始化 函数原型 int pthread_mutex_init (pthread_mutex_t* mutex, const pthread_mutexattr_t*   mutexattr); 函数传入值:  mutex:互斥锁。 mutexattr:PTHREAD_MUTEX_INITIALIZER:创建快速互斥锁。 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP:创建递归互斥锁。 PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP:创建检错互斥锁。 函数返回值 成功0 出错-1  2.互斥操作函数 int pthread_mutex_lock(pthread_mutex_t* mutex);//上锁 int pthread_mutex_trylock (pthread_mutex_t* mutex);//只有在互斥被锁住的情况下才阻塞 int pthread_mutex_unlock (pthread_mutex_t* mutex);//解锁 int pthread_mutex_destroy (pthread_mutex_t* mutex);//清除互斥锁 函数传入值            mutex:互斥锁。 函数返回值           成功0 出错-1 3.使用形式 struct mutex mutex; mutex_init(mutex); /*定义*/ ... mutex_lock(mutex); /*获取互斥锁*/ ... /*临界资源*/ mutex_unlock(mutex); /*释放互斥锁*/ 最后进行一个练习我们创建两个线程分别访问全局变量gnum并且修改它打印出来 [cpp] view plaincopy /*mutex.c*/  #include stdlib.h    #include stdio.h    #include pthread.h    #include errno.h     /*全局变量*/  int gnum  0;  /*互斥量 */  pthread_mutex_t mutex;  /*声明线程运行服务程序*/  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;       /*互斥初始化*/    pthread_mutex_init (mutex, NULL);     /*分别创建线程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);          pthread_mutex_lock(mutex); /*获取互斥锁*/      /*注意这里以防线程的抢占以造成一个线程在另一个线程sleep时多次访问互斥资源所以sleep要在得到互斥锁后调用*/      sleep (1);        /*临界资源*/      gnum;      printf (Thread1 add one to num:%d/n,gnum);      pthread_mutex_unlock(mutex); /*释放互斥锁*/             }     }     /*线程2的服务程序*/   static void pthread_func_2 (void)     {       int i  0;           for (;;)       {         printf (This is pthread2!/n);       pthread_mutex_lock(mutex); /*获取互斥锁*/      /*注意这里以防线程的抢占以造成一个线程在另一个线程sleep时多次访问互斥资源所以sleep要在得到互斥锁后调用*/      sleep (1);      /*临界资源*/      gnum;      printf (Thread2 add one to num:%d/n,gnum);      pthread_mutex_unlock(mutex); /*释放互斥锁*/        }           pthread_exit (0);     }     然后编译运行看到是线程12分别和平地访问共享资源
http://www.zqtcl.cn/news/659747/

相关文章:

  • 广东贸易网站开发用数据库做学校网站论文
  • 关于省钱的网站名字东莞哪些网络公司做网站比较好
  • net网站建设多少前MAC怎么做网站
  • 创建网站流程图国内高清图片素材网站推荐
  • 淄博住房和城乡建设局网站建设外贸网站哪家好
  • dede网站地图路径密云区免费网站建设
  • 男女做那事是什 网站软文网
  • 安徽建海建设工程有限公司网站活动推广宣传方案
  • 镇江市建设审图网站关键词优化过程
  • 广州个人网站备案要多久手机软件界面设计
  • 网站建设成都公司哪家好wordpress悬浮代码
  • 制作网站服务公司wordpress文章添加关注公众号
  • 陶瓷企业 瓷砖地板公司网站建设视频解析wordpress
  • 城乡建设厅网站首页wordpress模板汉化教程视频
  • 网站建设怎么设置渐变色手机网站开发服务商
  • 网站备案用座机租用南宁网站建设优化排名
  • 网页制作与网站建设实战大全读后感霞浦建站公司
  • 网站运营与网络推广方案搜索引擎关键字排名优化
  • 前端角度实现网站首页加载慢优化王业美三个字组成的子
  • 阜阳网站是用idea做html网站
  • 商业网站可以选择.org域名吗seo是东莞企业网站排seo
  • 做百度手机网站关键词排名哪个通讯公司的网络好
  • 网站后期维修问题qq网站建设
  • 做网站不会框架网站开发逻辑图
  • 东莞网站制作个性化宜都网站建设
  • 空壳网站查询网络服务提供者不履行法律、行政法规
  • 付费阅读网站代码做网站需要什么软件
  • 泗阳网站设计外贸网站特点
  • 国外logo设计网站推荐网页浏览器证书失效怎么修复
  • asp.net建立手机网站校园网站设计代码