#include #include /*信号量的定义-操作系统兔子吃草-操作系统 - IMDN开发者社群-imdn.cn" /> #include#include/*信号量的定义,它是负责协调各个线程,以保证它们能够正确、合理的使用公共资源。用于控制进程间的同步与互斥*/ typedefHANDLESemaphore; Semaphoreg_semBuffer,g_semGlass,g_mutex;//mutex为互斥锁 //利用Windows下的API函数(视窗操作系统应用程序接口)来定义P、V操作 #defineP(S)WaitForSingleObject(S,INFINITE)#defineV(S)ReleaseSemaphore(S,1,NULL)#definerate1000 #defineCONSUMER_NUM4//消费者个数#definePRODUCER_NUM4//生产者个数#defineBUFFER_NUM4//缓冲区个数 char*thing[4]={"glass1","glass2","glass3","glass4"};//公共的队列缓冲区 structBuffer{ intproduct[BUFFER_NUM]; intfront,rear; }g_buf;//兔子线程DWORDWINAPIRabbit(LPVOIDpara) { inti=*(int*)para;//第i只小白兔&-IMDN开发者社群-imdn.cn"> #include#include/*信号量的定义,它是负责协调各个线程,以保证它们能够正确、合理的使用公共资源。用于控制进程间的同步与互斥*/ typedefHANDLESemaphore; Semaphoreg_semBuffer,g_semGlass,g_mutex;//mutex为互斥锁 //利用Windows下的API函数(视窗操作系统应用程序接口)来定义P、V操作 #defineP(S)WaitForSingleObject(S,INFINITE)#defineV(S)ReleaseSemaphore(S,1,NULL)#definerate1000 #defineCONSUMER_NUM4//消费者个数#definePRODUCER_NUM4//生产者个数#defineBUFFER_NUM4//缓冲区个数 char*thing[4]={"glass1","glass2","glass3","glass4"};//公共的队列缓冲区 structBuffer{ intproduct[BUFFER_NUM]; intfront,rear; }g_buf;//兔子线程DWORDWINAPIRabbit(LPVOIDpara) { inti=*(int*)para;//第i只小白兔& - IMDN开发者社群-imdn.cn">
登录
首页 » 操作系统 » 操作系统兔子吃草

操作系统兔子吃草

于 2022-05-23 发布 文件大小:1.15 MB
0 115
下载积分: 2 下载次数: 1

代码说明:

#include "stdafx.h" #include #include #include /*信号量的定义,它是负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 用于控制进程间的同步与互斥*/  typedef HANDLE Semaphore;  Semaphore g_semBuffer,g_semGlass, g_mutex; //mutex 为互斥锁  // 利用 Windows 下的 API 函数(视窗操作系统应用程序接口)来定义 P、V 操作  #define P(S) WaitForSingleObject(S,INFINITE) #define V(S) ReleaseSemaphore(S,1,NULL) #define rate 1000  #define CONSUMER_NUM 4 // 消费者个数 #define PRODUCER_NUM 4 // 生产者个数 #define BUFFER_NUM 4 // 缓冲区个数  char *thing[4]={"glass1","glass2","glass3","glass4"}; //公共的队列缓冲区  struct Buffer {  int product[BUFFER_NUM];  int front,rear;  }g_buf; //兔子线程 DWORD WINAPI Rabbit(LPVOID para)  {  int i =*(int*)para; //第 i 只小白兔&

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C++写的原理及实现,模拟页面置换算法FIFO的源码
    C++写的操作系统原理及实现,模拟页面置换算法FIFO的源码-C++ Write the operating system and realize the principle of simulated FIFO page replacement algorithm for the source
    2022-05-24 18:38:44下载
    积分:1
  • ucosII in TI on the TMS320LF2407 transplantation. Embedded operating system.
    ucosII在TI的tms320lf2407上的移植。 嵌入式操作系统。-ucosII in TI on the TMS320LF2407 transplantation. Embedded operating system.
    2023-05-12 22:10:03下载
    积分:1
  • VMware的中文课,你想让你的电脑变成多
    vmware中文教程,你想让你的电脑变成多台进行使用吗?你也为没有多台电脑在多平台环境下进行C/S或B/S编程感到苦恼吗?请参考该文档,可以轻松解决你的问题,让你彻底发挥你的电脑的功能,可以一台变成多台并且在多个操作系统平台下进行使用。-vmware Chinese Course, you want your computer into a multi-use it? You do not have more than one computer in the multi-platform environment for C/S or B/S Programming is upset about it? Please refer to the document, you can easily solve your problem, let you play the complete function of your computer, you can 1 Taiwan into a multiple operating system platforms and in multiple use under.
    2022-03-19 16:04:14下载
    积分:1
  • 哲学家就餐问题
    哲学家就餐问题归纳为五个哲学家坐在一张桌子做两件事之一: 吃或思考。吃时,他们不思维,并同时观想,他们不吃。五个哲学家的圆形餐桌上坐着一大碗的面条在中心。一把叉子放在每一对相邻的哲学家,和,因此每个哲学家有一把叉子,在他的左边和一把叉子,向他的右边。由于意大利面条很难服务,用一个叉子吃,假定一个哲学家必须用两把叉子吃饭。每个哲学家可以只使用叉子在他立即左和直接权限。
    2023-08-29 01:30:03下载
    积分:1
  • 要开发一个C应用程序(.exe文件),大体上分为5个步骤(不考虑后期维护): 问题分析――分析要解决的问题,明确问题目标,将问题(尤其是复杂问题)分解为在数...
    要开发一个C应用程序(.exe文件),大体上分为5个步骤(不考虑后期维护): 问题分析――分析要解决的问题,明确问题目标,将问题(尤其是复杂问题)分解为在数据、 -To develop a C application (. Exe file), generally divided into five steps (without regard to post-maintenance): Problem Analysis- Analysis of issues to be addressed explicitly the issue of targets, the problem (in particular, are complex issues) is decomposed into in the data,
    2023-06-13 05:20:04下载
    积分:1
  • 30天自制源码
    文件时30天自制操作系统源码,内容非常好,一步一步教你自制操作系统,适合计算机专业学生,也适合对操作系统感兴趣的同学,可以系统的学习汇编和c语言开发。
    2022-02-06 05:57:51下载
    积分:1
  • 1 : Prepare a simulation and debugging process scheduling procedures, "Prio...
    1、 :编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对进程进行调度。 “最高优先数优先调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。尝试静态优先数与动态优先数两种方法: a) 静态优先数是指优先数在整个进程运行期间不再改变。优先数可以在数据输入时指定,也可以根据到达顺序、运行时间确定。 b) 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如进程获得一次CPU后就将其优先数减少1。或者进程等待的时间超过某一时限时增加其优先数的值。 2、 编写并调试一个模拟的进程调度程序,模拟实现多级反馈队列调度算法。 3、 编写并调试一个模拟的进程调度程序,模拟实现最低松弛度优先算法。 4、 程序与报告要求: a) 对上述要求1、2、3,至少要完成一项,鼓励尝试多种算法。 b) 输出结果要尽量详细清晰,能够反映调度后队列变化,PCB内部变化。 c) 可以选择在Windows或Linux环境下编写、运行程序 d) 鼓励使用不同的开发工具在不同平台环境上进行开发比较。 e) 在实验报告中,一方面可以对实验结果进行分析,一方面可以对各种算法进行比较,分析它们的优劣,说明各种算法适用于哪些情况下的调度。 -1 : Prepare a simulation and debugging process scheduling procedures, "Priority number of the highest priority" to the process of scheduling algorithms for scheduling. "Highest priority priority scheduling algorithm for the basic idea is to place the CPU allocated to the priority queue highest process. Taste Examination several static and dynamic priority priority number two methods : a) static priority number is priority
    2022-03-26 12:38:45下载
    积分:1
  • XML Parser , RSS BlogReader
    XML Parser , RSS BlogReader
    2022-04-10 00:51:35下载
    积分:1
  • 运行于T
    运行于T-engine(采用T-Kernel)之上的例子源代码,该T-Engine采用的处理器为mc9328-Running on the T-engine (the use of T-Kernel) above examples of source code, the T-Engine processor used for mc9328
    2023-03-15 12:40:04下载
    积分:1
  • <自己动手写>源代码第3章随书源码,每个代码都经过调试。...
    源代码第3章随书源码,每个代码都经过调试。- source code in Chapter 3 with the source books, each have been debug code.
    2022-01-24 18:19:30下载
    积分:1
  • 696518资源总数
  • 106161会员总数
  • 5今日下载