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

深圳营销型网站公司网页版qq在线登录

深圳营销型网站公司,网页版qq在线登录,天元建设集团有限公司三层九中心,公司企业简介既可以解决多个同类共享资源的互斥问题&#xff0c;也可以解决简易的同步问题 头文件&#xff1a;#include <semaphore.h> 类型&#xff1a;sem_t 初始化&#xff1a;int sem_init(sem_t *sem, int pshared, unsigned int value); //程序中第一次对指定信号量调用p、v操…

既可以解决多个同类共享资源的互斥问题,也可以解决简易的同步问题

头文件:#include <semaphore.h>
类型:sem_t
初始化:int sem_init(sem_t *sem, int pshared, unsigned int value); //程序中第一次对指定信号量调用p、v操作前必须做初始化
清理:int sem_destroy(sem_t *sem);//程序中不再指定信号量时,应及时调用
P操作: int sem_wait(sem_t *sem);
V操作: int sem_post(sem_t *sem);功能:见函数名
返回值:成功为0,失败<0
注:pshared参数填零,本来是期望可以实现进程间使用的,Linux未实现

问题:线程1输出多个字符'a',线程2输出多个字符'b',要求打印的结果为abababab...


代码:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <semaphore.h>sem_t sem1,sem2; // 初始化信号量void* pthread1(void *argv){for(int i = 0;i<10;i++){sem_wait(&sem1); // 如果信号量是1 就执行下面的代码(然后将sem1 置0),如果是0 就等待printf("a");fflush(stdout); // 冲刷缓冲区sem_post(&sem2); // 发送信号(将sem2 置1)}}
void* pthread2(void *argv){for(int i = 0;i<10;i++){sem_wait(&sem2);printf("b");fflush(stdout); // 冲刷缓冲区sem_post(&sem1); // 发送信号(将sem1 置1)}
}
int main(){pthread_t pth1,pth2;sem_init(&sem1,0,1); // 初始化信号量sem_init(&sem2,0,0);pthread_create(&pth1,NULL,pthread1,NULL);pthread_create(&pth2,NULL,pthread2,NULL);pthread_join(pth1,NULL);pthread_join(pth2,NULL);sem_destroy(&sem1);sem_destroy(&sem2);return 0;
}

输出:


问题:建三个线程,线程的ID分别是A,B,C,每个线程在屏幕输出自己的的ID 10 次,并且要求输出的顺序是:ABCABCABC.....(迅雷笔试题)


代码:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <semaphore.h>sem_t sem1,sem2,sem3;void* print_a(void* argv){for(int i = 0;i<10;i++){sem_wait(&sem1);printf("A");fflush(stdout);sem_post(&sem2);}return NULL;
}void* print_b(void* argv){for(int i = 0;i<10;i++){sem_wait(&sem2);printf("B");fflush(stdout);sem_post(&sem3);}return NULL;
}void* print_c(void* argv){for(int i = 0;i<10;i++){sem_wait(&sem3);printf("C");fflush(stdout);sem_post(&sem1);}return NULL;
}int main(){pthread_t ph1,ph2,ph3;sem_init(&sem1,0,1);sem_init(&sem2,0,0);sem_init(&sem3,0,0);pthread_create(&ph1,NULL,print_a,NULL);pthread_create(&ph2,NULL,print_b,NULL);pthread_create(&ph3,NULL,print_c,NULL);pthread_join(ph1,NULL);pthread_join(ph2,NULL);pthread_join(ph3,NULL);sem_destroy(&sem1);sem_destroy(&sem2);sem_destroy(&sem3);return 0;
}

输出:

http://www.15wanjia.com/news/167136.html

相关文章:

  • 旅游网站建设的原因怎么注册网自己的网站
  • 百度seo软件曝光行者seo郑州见效果付费优化公司
  • 免费建设手机网站企业速成网站
  • 网站怎么做二级域名永久免费云主机
  • 昆山建设局网站php 企业 网站
  • 网站禁止ip访问如何创新网站建设模式
  • 网站思维导图例子2016企业网站建设合同
  • 做网站信科网站建设涉县做网站
  • ps做分享类网站效果图新浪企业邮箱
  • 常州新北区网站建设深圳建设交易主页
  • 网站生成静态页面织梦模板网站好吗
  • 如何做门户网站网站建设详细需求说明书
  • 沈阳网站制作全网性猎聘网网站谁做的
  • 重庆网站设计公司排行网站收录量怎么提升
  • 安徽省和住房建设厅网站个人网站名称 备案
  • 基于asp.net的视频网站开发网站专题方案
  • 杭州网站建设找思创长沙城市建筑工程有限公司
  • 相亲网站做推广的照片是谁电脑培训学校课程
  • 网站禁止右键变装第三性wordpress
  • 规则网站建设国内外知名市场调研公司
  • 数据网站模板长春招聘
  • 做会计题目的网站手机建站程序
  • 红酒网站设计广西南宁时空网首页
  • 江西专业的网站建设制作商务网页设计与制作是什么
  • 手机网站搭建用什么软件?盘锦网站建设公司
  • 创造一个网站wordpress rds
  • 网站开发学校百度网站分析报告
  • 网站 php 源码网页游戏排行榜图标
  • 跟做网站相关的法律优化网址
  • 怎么用源码做网站视频网站怎么做短信营销