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

网站建设公司怎么找客户福州网站优化

网站建设公司怎么找客户,福州网站优化,比较靠谱的app开发公司,贸易网站建设信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。 不多做解释,要使用信号量同步,需要包含头文件semaphore.h。 主要用到的函数: int sem_init(sem_t *sem, int p…

信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。

不多做解释,要使用信号量同步,需要包含头文件semaphore.h。

主要用到的函数:

int sem_init(sem_t *sem, int pshared, unsigned int value);,其中sem是要初始化的信号量,pshared表示此信号量是在进程间共享还是线程间共享,value是信号量的初始值。
int sem_destroy(sem_t *sem);,其中sem是要销毁的信号量。只有用sem_init初始化的信号量才能用sem_destroy销毁。
int sem_wait(sem_t *sem);等待信号量,如果信号量的值大于0,将信号量的值减1,立即返回。如果信号量的值为0,则线程阻塞。相当于P操作。成功返回0,失败返回-1。
int sem_post(sem_t *sem); 释放信号量,让信号量的值加1。相当于V操作。
//用户从终端输入任意字符然后统计个数显示,输入end则结束
//使用多线程实现:主线程获取用户输入并判断是否退出,子线程计数

#include<stdio.h>
#include <pthread.h>
#include<stdlib.h>
#include <string.h>
#include <semaphore.h>char buf[100]={0}; 
int flag;
sem_t sem;
// 子线程程序,作用是统计buf中的字符个数并打印
void *func(void*arg)
{
// 子线程首先应该有个循环
// 循环中阻塞在等待主线程激活的时候,子线程被激活后就去获取buf中的字符
// 长度,然后打印;完成后再次被阻塞
sem_wait(&sem);
while(flag==0)
{printf("长度为:%d.\n",strlen(buf));
memset(buf, 0, sizeof(buf));
sem_wait(&sem);
}pthread_exit(NULL);}int main(void)
{
int ret=-1;
pthread_t th;sem_init(&sem,0,0);ret=pthread_create(&th,NULL,func,NULL);if (ret != 0)
{
printf("pthread_create error.\n");
return -1;
}                    printf("输入一个字符串,以回车结束.\n");
while(scanf("%s",buf))
{
// 去比较用户输入的是不是end,如果是则退出,如果不是则继续 
if(!strncmp(buf,"end",3))
{
printf("输入的字符串为:%s",buf);
flag==1;
sem_post(&sem);
break;
}
// 主线程在收到用户收入的字符串,并且确认不是end后
// 就去发信号激活子线程来计数。
// 子线程被阻塞,主线程可以激活,这就是线程的同步问题。
// 信号量就可以用来实现这个线程同步 
sem_post(&sem);}/*
// 回收子线程
printf("等待回收子线程\n");
ret = pthread_join(th, NULL);
if (ret != 0)
{
printf("pthread_join error.\n");
exit(-1);
}
printf("子线程回收成功\n");sem_destroy(&sem);
*/
return 0;}


————————————————
版权声明:本文为CSDN博主「IT悟物穷理IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24373811/article/details/52371120

http://www.ds6.com.cn/news/95938.html

相关文章:

  • 做机器设备的网站百度sem
  • 网站建设的源代码有什么作用线上电商怎么做
  • 通州个人做网站seo外包方法
  • 衢州做网站的公司如何建立自己的网站
  • 滕州本地网站建设上海何鹏seo
  • 网络营销与推广方案seo专业课程
  • 汽车之家二手车之家乐云seo官网
  • 做金融的免费发帖的网站有哪些百度关键词价格
  • 网站广告弹窗代码网站在线优化工具
  • 邹城网站建设v556以下属于网站seo的内容是
  • 网站后台程序怎么做不花钱网站推广
  • 一个空间放多个网站搜索数据
  • 阜阳北京网站建设优化大师网页版
  • 龙岩kk网手机版杭州网络优化公司排名
  • 城乡住房规划建设局网站洛阳seo外包公司费用
  • 响应式网站建设推广太原seo建站
  • 在线直播系统开发网站为什么要做seo
  • 订购网站模板免费访问国外网站的app
  • 做什么网站赚钱最快免费seo排名优化
  • 阿里巴巴批发网站怎么做百度客服在线咨询人工服务
  • 网站后台更换首页图片市场营销手段13种手段
  • 网站建设技术和销售工资关键词优化排名软件流量词
  • 网站建设信息服务费计入什么科目做百度推广怎么做才能有电话
  • 自己做网站怎么让字体居中2021年近期舆情热点话题
  • 河南联通 网站备案seo教程免费
  • 怎么制作h5页面个人网站seo入门
  • 网站建设微信运营推广营销咨询服务
  • wordpress弹框大连seo关键词排名
  • wordpress主题移动seo搜索引擎优化软件
  • 云南专业做网站多少钱最近七天的新闻大事