one.cpp

#include <windows.h>
#include <stdio.h>#define PROG_NAME "李白"
HANDLE lb_to_cp, cp_to_lb; //声明信号量void P(HANDLE s)  //P操作
{
    WaitForSingleObject(s, INFINITE);
}
void V(HANDLE s)  //V操作
{
    ReleaseSemaphore(s, 1, NULL );
}int main()
{
    int i=0;
    HWND hwnd=GetForegroundWindow(); //获取程序窗口句柄
    char acts[][9]={"炮二平五","马二进三","车一进一","车一平六","车六进七","车九进一","炮八进五","炮五进四","车九平六","前车进一","车六平四","车四进六","炮八平五"};    HANDLE hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE, 0,0x100,"CHESS_BOARD"); //创建共享内存
    LPSTR chess_menu=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0); //进程连接共享内存,得到共享内存首地址
    lb_to_cp=OpenSemaphore(SEMAPHORE_ALL_ACCESS,FALSE,"Global\\lb_to_cp");    //信号量初始化为0
    cp_to_lb=OpenSemaphore(SEMAPHORE_ALL_ACCESS,FALSE,"Global\\cp_to_lb"

李白和杜甫共享一个棋盘下象棋。一个叫李白的程序,输出李白走的10步棋。一个杜甫程序,输出杜甫的10步棋,一个裁判程序裁定二者下棋。C++实现信号量及P、V操作。相关推荐

  1. 信号量——P、V操作、临界资源、临界区、进程同步

    1.信号量 用来同步进程的特殊变量:一个特殊的计数器,大于0时记录资源的数量,小于0时记录等待资源的进程的数量.当信号量的值大于0时,进程总是可以获取到资源并使用,小于0 时,进程必须阻塞等待有其他进 ...

  2. 临界资源、临界区、信号量、P,V操作

    一.资源: Linux上有硬件资源和软件资源之分.程序会受到资源限制的影响,可能在这几方面的资源限制受到影响:1.硬件方面的物理性限制(内存):2.系统策略的限制(允许使用的CPU时间):3.具体实现 ...

  3. vp操作 信号量_信号量P,V操作

    2013-07-22 20:20:30 信号量是最早出现的用来解决进程同步与互斥问题的机制(也可实现进程通信),包括一个称为信 号量的变量及对它进行的两个原语操作.信号量为一个整数,我们设这个信号量为 ...

  4. python创建一个类似于国家象棋棋盘的0-1矩阵_NumPy练习题(全中文并附详细讲解)...

    100道 numpy 练习 1. Import the numpy package under the name np (★☆☆)') 导入numpy模块,设置别称为np import numpy a ...

  5. 【javasim】一个java下的建模仿真平台

    引言:JavaSim简介 JavaSim是面向对象的Java离散事件仿真工具包.它是一个原始的C++模拟仿真工具包的Java实现,仿真模型分为三类,以系统状态随时间变化的方式描述: 连续时间:状态随时 ...

  6. 人工智能下象棋,走一步,能看几步?|漫画

    图文原创:谭婧 谭婧老师爱下象棋,就是谁也赢不了. 去公园下了一盘棋 ,第一步我就走了一个当头炮 ,剩下的都是大爷们帮我走的. 结果,我输了. 经过他们的总结研究,我第一步走错了 . 2022年,象棋 ...

  7. Wiki下象棋——bfs

    链接:https://ac.nowcoder.com/acm/contest/30532/E 题目描述 Wiki的业余爱好就是下象棋,他不仅会下中国象棋,还会下国际象棋.他发现中国象棋和国际象棋虽然都 ...

  8. 如何使用js加css加html实现下象棋功能

    为了使用 JavaScript.CSS 和 HTML 实现下象棋功能,您可以按以下步骤操作: 创建一个 HTML 页面,在其中编写代码来生成棋盘的图形. 使用 CSS 样式来设置棋盘的样式,如颜色.边 ...

  9. 【牛客 - 301哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)】小乐乐下象棋(记忆化搜索dp,dfs)

    题干: 小乐乐一天天就知道玩,这一天又想玩象棋. 我们都知道马走日. 现在给定一个棋盘,大小是n*m,把棋盘放在第一象限,棋盘的左下角是(0,0),右上角是(n - 1, m - 1); 小乐乐想知道 ...

最新文章

  1. VSC为_计及功率控制模式的VSC-MTDC交直流并列运行系统概率潮流计算
  2. 中小学招生强化就近入学;首次全女性太空行走取消;苹果付费新闻APP奔溃;NASA火星上发现鹅卵石;这就是今天的大新闻...
  3. TPL 和传统 .NET Framework 异步编程
  4. Oracle完全手册,Oracle_11g+Oracle Sqldeveloper 安装完全手册(for win 7 64x)
  5. Navicat for SQLite 10.1.3 注册码
  6. 《流量的秘密: Google Analytics网站分析与优化技巧(第3版)》一2.2 网站分析中的cookie...
  7. 【Python数据分析】数据预处理1——数据清洗
  8. kaldi 语音识别
  9. python超时处理_Python如何实现让一个函数超时退出?
  10. The Future Of Mobile Development: HTML5 Vs. Native Apps
  11. 洛谷OJ P1003 铺地摊
  12. 空间变换与计算_02_3x3矩阵
  13. 免费rar密码破解工具排行榜
  14. 那些年的 Hello World (HTML)
  15. qt 实现PDF阅读器 (一)
  16. QAndroidJniObject::callStaticObjectMethod参数含义
  17. 前端Javascript面试题
  18. 卸载系统的dhcp服务器,dhcp服务器释放ip地址
  19. elang 字符处理
  20. 简单算法 - 链表逆序思路详解

热门文章

  1. 怎么在安全模式下修复计算机,如何在Win10安全模式下修复电脑?
  2. 计算机学院新闻部纳新稿子,【万象更新】水建院新闻中心纳新啦!
  3. 软件能力成熟模型(CMM)的五个成熟级别
  4. 头部UP主的赚钱方法,都在这里了
  5. 在日本之后,中国也发布新型光刻机,ASML加快对中国出口光刻机
  6. Java17-缓冲流,转换流,序列化流
  7. 【校招VIP】产品经理交流技巧之通过表情来表达
  8. wepy2.0点击事件bug
  9. 百度发春节搜索大数据:80后最关注什么?
  10. word页眉横线怎么删除(word页眉横线如何设置)