酒店管理公司网站建设方案,网站 数据库 sql 导入数据库文件,做视频招标的网站有哪些,建设和交通局网站生产者-消费者
系统中有一组生产者进程和一组消费者进程 两者共享一个初始为空#xff0c;大小为n的缓冲区 缓冲区没满#xff0c;生产者才能放入 缓冲区没空#xff0c;消费者才能取出 互斥地访问缓冲区 互斥要在同步之后#xff0c;不然会导致想要同步#xff0c;但由…生产者-消费者
系统中有一组生产者进程和一组消费者进程 两者共享一个初始为空大小为n的缓冲区 缓冲区没满生产者才能放入 缓冲区没空消费者才能取出 互斥地访问缓冲区 互斥要在同步之后不然会导致想要同步但由于没有锁而导致死锁 遵循先V后P
多生产者-多消费者 多对多需要清楚互斥量是否为1若为1可能可以不加互斥若不为1则需要加因为要避免覆写缓冲区导致数据错误 同步需要梳理好前后关系例如这里的盘子和水果
读者-写者
当有读者和写者两组并发进程共享一个文件读时只允许读不允许写写时不允许读和写 难点在怎么确定当前访问的进程是哪种进程 此处将互斥量套在检查count和赋值count上但造成了读优先且写饥饿 为了解决写饥饿加入对写标志的同步操作即当有写进程申请访问时读文件进程只能等待读写平衡法
吸烟者
三个抽烟者各自持有三种材料中的一种一个供货商每次提供两种材料抽烟者一凑齐材料就能抽此处就涉及了线程同步问题 其实这里finish用做表示抽完才能放材料设置三种材料作为变量即可
哲学家进餐 这里就不能常规的p操作检查两边的筷子能否拿起因为同时并发会导致都吃不上饭 要想实现不死锁需要让他们按一定顺序吃饭如只有能拿起一双筷子的才能吃饭不然就不能拿筷子