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

百度集团网站建设方案山东平台网站建设制作

百度集团网站建设方案,山东平台网站建设制作,求个网站或者app,wordpress文章延迟加载信号量解决五个哲学家吃通心面问题 题型一 有五个哲学家围坐在一圆桌旁#xff0c;桌中央有盘通心面#xff0c;每人面前有一只空盘于#xff0c;每两人之间放一把叉子。每个哲学家思考、饥饿、然后吃通心面。为了吃面#xff0c;每个哲学家必须获得两把叉子#xff0c;…信号量解决五个哲学家吃通心面问题 题型一 有五个哲学家围坐在一圆桌旁桌中央有盘通心面每人面前有一只空盘于每两人之间放一把叉子。每个哲学家思考、饥饿、然后吃通心面。为了吃面每个哲学家必须获得两把叉子且每人只能直接从自己左边或右边去取叉子。 Semaphore fork[5]{1,1,1,1,1} Semaphore footman4; //最多允许4个哲学家进程同时进行 cobegin process philosopher_i(){/*i0,1,2,3,4 */while(true){P(footman); Think(); P(fork[i]); P(fork[(i1)%5]);Eat(); V(fork[i]); V(fork[(i1)%5]); V(footman); }} coend题型二 哲学家甲请哲学家乙、丙、丁到某处讨论问题约定全体到齐后开始讨论在讨论的间隙四位哲学家进餐每人进餐时都需使用刀、叉各一把餐桌上的布置如下图所示。用信号量机制说明四位哲学家的同步互斥过程。 分析 标准的哲学家进餐问题只是哲学家人数和餐具及分布与经典哲学家进餐问题略有不同 数据结构 semaphore fork1,fork2,knife1,knife2; frok表示叉knife表示刀初值均为1 pa //哲学家甲 do{P(knife1);P(fork1);进餐V(knife1);V(fork1);讨论问题 }while(1);pb //哲学家乙 do{P(knife2);P(fork1);进餐V(knife2);V(fork1);讨论问题 }while(1);pa //哲学家丙 do{P(knife2);P(fork2);进餐V(knife2);V(fork2);讨论问题 }while(1);pb //哲学家丁 do{P(knife1);P(fork2);进餐V(knife1);V(fork2);讨论问题 }while(1);理发师问题 理发店理有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子 如果没有顾客理发师便在理发椅上睡觉 一个顾客到来时它必须叫醒理发师 如果理发师正在理发时又有顾客来到则如果有空椅子可坐就坐下来等待否则就离开 int waiting0;//等候理发顾客数 int CHAIRSN; //为顾客准备的椅子数 semaphore customers,barbers,mutex; customers0;barbers0;mutex1;cobegin process barber( ) {while(true) {P(customers); //有顾客吗若无顾客理发师睡眠P(mutex); //若有顾客时进入临界区waiting--; //等候顾客数少一个V(barbers); //理发师准备为顾客理发V(mutex); //退出临界区cut_hair(); //理发师正在理发(非临界区)} }process customer_i( ) {P(mutex); //进入临界区if(waitingCHAIRS) { //有空椅子吗waiting; //等候顾客数加1V(customers); //唤醒理发师V(mutex); //退出临界区P(barbers); //理发师忙顾客坐下等待get_haircut(); //否则顾客坐下理发}else V(mutex); //人满了走吧 } coend运行过程  customer : p(mutex)customer : waitingcustomer : v(customers)barber : p(customers) → p(mutex) waitingcustomer : v(mutex)barber : p(mutex)barber : wating - -barber : v(barbers)barber : v(mutex)customer : p(barbers)barber : cut_hair( )customer : get_haircut( ) 生产者消费者问题 ①一个生产者、一个消费者共享一个缓冲区 ②一个生产者、一个消费者共享多个缓冲区 ③多个生产者、多个消费者共享多个缓冲区 一个生产者、一个消费者共享一个缓冲区 int B; semaphore empty; //可以使用的空缓冲区数 semaphore full; //缓冲区内可以使用的产品数 empty1; //缓冲区内允许放入一件产品 full0; //缓冲区内没有产品****cobegin process producer(){ while(true){ produce( ); P(empty); append( ) to B; V(full); } } coend********cobegin process consumer(){while(true) { P(full);take( ) from B;V(empty);consume( );} } coend****多个生产者/消费者、共享多个缓冲区的解 桌子上有一个盘子可以存放一个水果。父亲总是放苹果到盘子中而母亲总是放香蕉到盘子中儿子专等吃盘中的香蕉而女儿专等吃盘中的苹果。 item B[k]; semaphore empty; emptyk; semaphore full; full0; semaphore mutex1; //互斥信号量 int in0; //放入缓冲区指针 int out0; //取出缓冲区指针 cobegincobegin process producer_i ( ){while(true) {produce( );P(empty);P(mutex);append to B[in]; in(in1)%k; V(mutex); V(full); } } coendcobegin process consumer_j ( ){ while(true) {P(full);P(mutex);take( ) from B[out];out(out1)%k;V(mutex);V(empty);consume( );} } coend读者写者问题 有两组并发进程读者和写者共享一个文件F 允许多个读者同时执行读操作 任一写者在完成写操作之前不允许其它读者或写者工作 写者执行写操作前应让已有的写者和读者全部退出 int readcount0;//读进程计数 semaphore writeblock 1; semaphore mutex 1;cobegin process reader_i( ){ P(mutex);readcount; if(readcount1)P(writeblock); V(mutex);{读文件};P(mutex);readcount--;if(readcount0)V(writeblock);V(mutex); } coendcobegin process writer_j( ){P(writeblock);{写文件};V(writeblock); } coend某小型超级市场有一个出入口出入口处有80个篮子每个购物者拿到一只篮子后可入内购物购物结束后在出入口处结账并归还篮子。出入口处禁止多人同时通行试用信号量和P、V操作写出购物物者进程的同步算法 semaphore count80,mutex 1; shopping( )//购物者进程{P(count) P(mutex) 进入超市购物 V(mutex)P(mutex)结账离开 V(mutex)V(count) }某车站售票厅有一个售票窗口窗口不允许同时有多个人买票任何时刻最多可容纳20名购票者进入售票厅排队当售票厅内已有20名购票者时其余购票者需在外面等待。若把一个购票者看作一个进程请回答下列问题 (1)用PV操作管理这些并发进程时写出信号量的定义及初值; (2)根据所定义的信号量在下面程序段中合适的位置加上PV操作以保证进程能正确地并发执行。 semaphore mutex 1 ;//用于购票窗口互斥 semaphore count 20 ;//用于表示可容纳20人购票进程同步 cobegin PROCESSPI(I12……)//购票者进程1,2.......{P(count) 进入售票厅P(mutex) 购票V(mutex); 退出V(count); } coend设公共汽车上司机和售票员的活动分别如下司机的活动启动车辆正常行车到站停车。售票员的活动关车门售票开车门。在汽车不断地到站、停车、行驶过程中这两个活动有什么同步关系?用信号量和P、V操作实现它们的同步。 semaphore door 0 , stop 0 ; process driver() {P(door)启动车辆正常行车车辆到站停车V(stop) } process saler() {关车门V(door) 售票P(stop)开车门 }另一个经典同步问题吸烟者问题(patil , 1971 )。三个吸烟者在一个房间内还有一个香烟供应者。为了制造并抽掉香烟每个吸烟者需要三样东西烟草、纸和火柴供应者有丰富货物提供。三个吸烟者中第一个有自己的烟草第二个有自己的纸和第三个有自己的火柴。供应者随机地将两样东西放在桌子上允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者供应者再把两样东西放在桌子上唤醒另-一个吸烟者。试采用:(1 )信号量和P、V操作编写他们同步工作的程序。 Semaphore abc0s1; Cobegin Process P1(){while(1){P(a)卷烟抽烟V(s) }}Process p2(){while(1){P(b)卷烟抽烟V(s) }}Process p3(){while(1){P(c)卷烟抽烟V(s) }}Process supply(){ while(1){P(s)if(放烟草和纸) V(c)else if(放烟草和胶水) V(b)else V(a) }} Coend
http://www.dnsts.com.cn/news/49559.html

相关文章:

  • 网站开发后台做些什么免费做店招的网站
  • 企业服务建设网站遵义网站建设哪家强
  • 如何编写网站中国工商银行官方网站登录
  • pc建站 手机网站市场调研报告模板
  • 代做毕设网站阳春网站建设
  • 为什么自己做的网站打开是乱码深圳网页制作设计
  • 去掉wordpress版权重庆好的seo平台
  • 唐山做网站优化百度助手下载
  • asp网站没有数据库连接排名优化seo公司
  • 网站友情链接怎么弄建设银行网站如何下载u盾
  • 网站运营托管方案wordpress jetpack插件
  • 专做五金正品的网站龙华线上推广
  • python做公司网站网站里面的数据库是怎么做的
  • 公司网站内容模块布局网页制作与网站建设问答题
  • 网站建设模板设计软硬件开发公司
  • 游戏直播网站怎么做的重庆seo推广渠道
  • 学习aspmvc网站开发 书页面设计感想
  • 网站建设四个步骤陕西省工程建设交易服务中心网站
  • dw做的网站怎么发布做营销型网站价格
  • 枣庄网站制作公司怎么换自己的网站服务器
  • 做系统后之前网站怎么找回买了域名就可以做网站
  • 网站需要服务器厦门网页设计培训
  • 中国旅游预订网站的建设始于哪一年安琪oa协同办公系统
  • 网站建设培训 ppt公司设计网站有哪些
  • 自助建站系统网站本科
  • thinkphp 网站设置功能云浮营销建站公司
  • 珠海新盈科技有限公司 网站建设wordpress文章页面宽度
  • 网站建设推广顾问是什么意思网页设计与网站建设课后习题答案
  • 信诺盛世网站wordpress看图插件
  • t型布局网站怎么做痘痘怎么去除有效果