




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 2内存100 字节,线程T1 2内存100 字节,线程T1 欲填1线程T2 欲填0。但如果T1 执行50 个字节失去cpu,T2 执 1. 资源共享(独享资源则不会2. 调度随机(3. 。 。,B 该。(。 ,B 该。(。 。 初始化一个互斥锁(互斥量1 pthead_mutex_tmuetx= pthread_mutex_destroy pthead_mutex_tmuetx= pthread_mutex_destroy 函数 pthread_mutex_unlock 函数 pthread_mutex_trylock 函数 lock unlock 。后,T2T3T4 unlocklock。
2、 EBUSY:#include#include while(1)o sleep(rand()lock。 EBUSY:#include#include while(1)o sleep(rand()%3); /*模拟长时间操作共享资源,导致cpu易主,产生与时间有关的错误*/ pthread_twhile(1)O sleep(rand()%sleep(rand()%return 0; , f前后,分别加lock和 main flag = 5 在while中- main flag = 5 在while中- 在. 2. 1A锁,请求获得B2BA1. (读锁2. (写锁3. pthread_rwlock
3、_init pthread_rwlock_init 函 pthread_rwlock_rdlock 函数 函 函 函 函 #include函 函 函 #include#include t,i=while(1)t = counter;f(=write%d:%lu:counter=%d+counter=%dn,i,pthread_self(),t,+counter); i= while(1)read%d:%lu:%dn,i,pthread_self(),i= while(1)read%d:%lu:%dn,i,pthread_self(),pthread_t tid8; for(i=0; i3; f
4、or (i = 0; i 5; i+) for(i=0; inext; while (1) mp-num = rand() % 1000 + 1;head = mp;sleep(rand() % 5);argc,char, 如直接使用 sem_init sem_trywait 如直接使用 sem_init sem_trywait t sem_tsem; sem0信号量基本操作:| sem_init sem_init sem_destroy sem_wait t sem_trywait - (sem_waitlock和 sem_timedwait LL); time_tcur= structti
5、mespect; timespec 结构体变量t t.tv_sec = cur+1; 定时 1 秒 sem_timedwait(&sem,&t); LL); time_tcur= structtimespect; timespec 结构体变量t t.tv_sec = cur+1; 定时 1 秒 sem_timedwait(&sem,&t); 定义两个信号量:S0S为空 Tt(S空T t(S满假设: 线程到达的顺序是:T 生、T 生、T 那么: T1 S空-1S满+1 T 2 到达,S 空已经为 0, 阻塞T消 到达,将 S满-1S空 oworld 主要应用函数 主要应用函数 进程mutex #
6、include#include #includestructmt fd,structmt;memset(mm,0, ;memset(mm,0, pthread_mutex_init(&mm-mutex, &mm-mutexattr);mutex=if=0)for (i = 0; i 0)for(i=0;inum += 2;区【 fcntlcmd,./*arg*/F_SETLK(structflock*) 设置文件锁F_SETLKW(structcmd,./*arg*/F_SETLK(structflock*) 设置文件锁F_SETLKW(structflock*) 设置文件锁(lock)WF_
7、GETLK(structflock*) structflockshort l_type; off_t l_start; off_t l_len;_t 锁的类型:F_RDLCK 、F_WRLCK 、F_UNLCK 进程间文件锁示例:#include#include argc,charstructflockif(argc 2) if(fd=open(argv1,O_RDWR) 5个线程; 5- 5left(左手)right(右手i = (:ABC5123if(i=left=i,right =left=i,right=在:左:0if(i=left=i,right =left=i,right=在:左:04)if(i=left=0,right=left=i,right=while若,左右手都加锁成功-吃- 吃完-1. 2. 保证资源的获取顺序,要求每个线程获取资源的顺序一致。如:A1、2、3;B1、2、 3。若 B 为 3、2、1 则易出现死锁现象。; 5 if(i5) 5 if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度服务贸易创新发展实验区建设合同
- 二零二五年度生态农业园建设改造合同
- 参加运动会心得体会(资料24篇)
- 二零二五年度高校内地西藏班招生代理协议
- 2025年电子产品分销代理合同范本三
- 2025版智能建筑安装施工合同标准范本
- 2025版建筑工程劳务分包合同绿色施工与节能减排实施指南
- 2025版二手房垫资与房屋内部装修设计协议
- 二零二五年度出租车企业数据安全及隐私保护合同
- 二零二五年度环保行业员工劳动合同范本及绿色环保理念
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 婚礼流程及费用清单
- 市场营销人员招聘与培训方案范本1
- 智慧林业综合管理平台解决方案
- 4《地球-我们的家园》教学设计-2023-2024学年道德与法治六年级下册统编版
- GB/T 44353.2-2024动物源医疗器械第2部分:来源、收集与处置的控制
- 中国特发性面神经麻痹神经修复治疗临床指南2023年
- 西安市灞桥区2024年公开招聘事业单位工作人员历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 年产1万吨连续玄武岩纤维及其制品申请建设可行性研究报告
- (正式版)JBT 14933-2024 机械式停车设备 检验与试验规范
- JJF 1033-2023 计量标准考核规范
评论
0/150
提交评论