27.mutex跨进程通信
- 创建互斥量mutex
- HANDLE mutex = CreateMutexA(NULL, TRUE, name);
- 根据id打开mutex
- HANDLE mutex = OpenMutexA(MUTEX_ALL_ACCESS,TRUE,name);
- 监听
- DWORD res = WaitForSingleObject(mutex, );
- 判断事件
- switch (res)
- {
- case WAIT_OBJECT_0:
- printf("收到信号-------");
- break;
- case WAIT_TIMEOUT:
- printf("超时没有收到-------");
- break;
- case WAIT_ABANDONED:
- printf("另外一个进程意外终止-------");
- break;
- default:
- break;
- }
- switch (res)
mutex.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <Windows.h>
- char name[] = "haihualovefang";
- void main()
- {
- HANDLE mutex = CreateMutexA(NULL, TRUE, name);
- printf("创建成功");
- char ch = getch();
- ReleaseMutex(mutex);
- printf("触发互斥量");
- CloseHandle(mutex);
- }
wait.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <Windows.h>
- char name[] = "myevent";
- void main()
- {
- HANDLE event = OpenEventA(EVENT_ALL_ACCESS, TRUE, name);//打开事件
- if (event == NULL)
- {
- printf("打开失败");
- system("pause");
- return;
- }
- printf("等待-------");
- DWORD res = WaitForSingleObject(event, );
- switch (res)
- {
- case WAIT_OBJECT_0:
- printf("收到信号-------");
- break;
- case WAIT_TIMEOUT:
- printf("超时没有收到-------");
- break;
- case WAIT_ABANDONED:
- printf("另外一个进程意外终止-------");
- break;
- default:
- break;
- }
- CloseHandle(event);
- system("pause");
- }
27.mutex跨进程通信的更多相关文章
- Android随笔之——跨进程通信(一) Activity篇
在Android应用开发中,我们会碰到跨进程通信的情况,例如:你用QQ通讯录打电话的时候会调用系统的拨号应用.某些新闻客户端可以将新闻分享到QQ.微信等应用,这些都是跨进程通信的情况.简而言之,就是一 ...
- WinForm实现跨进程通信的方法
public class WinMessageHelper { private struct COPYDATASTRUCT { public IntPtr dwData; public int cbD ...
- AIDL跨进程通信
Android跨进程通信会用到AIDL,当然跨进程通信不一定要用AIDL,像广播也是可以的,当然这里用到AIDL相对比较安全一些: AIDL允许传递基本数据类型(Java 的原生类型如int/long ...
- 【Chromium中文文档】跨进程通信 (IPC)
跨进程通信 (IPC) 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/I ...
- Android中的跨进程通信方法实例及特点分析(二):ContentProvider
1.ContentProvider简单介绍 在Android中有些数据(如通讯录.音频.视频文件等)是要供非常多应用程序使用的.为了更好地对外提供数据.Android系统给我们提供了Content P ...
- 跨进程通信之Messenger
1.简介 Messenger,顾名思义即为信使,通过它可以在不同进程中传递Message对象,通过在Message中放入我们需要的入局,就可以轻松实现数据的跨进程传递了.Messenger是一种轻量级 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...
- 不依赖AIDL的跨进程通信
http://blog.csdn.net/lmj623565791/article/details/38461079 如果知道AIDL和binder的原理,可以简单写一个不依赖AIDL的跨进程通信 不 ...
- Android-Messenger跨进程通信
http://blog.csdn.net/lmj623565791/article/details/47017485 一.概述 我们可以在客户端发送一个Message给服务端,在服务端的handler ...
随机推荐
- volatile的含义
从词面上来讲.volatile的意思是易变的,也就是说.在程序执行的过程中,有一些变量可能会被莫名其妙的改变,而优化器为了节约时间.有时候不会重读这个变量的真实值,而是去读在寄存器的备份,这种话,这个 ...
- 百度地图SDK for Android【Demo兴趣点搜索】
百度地图SDK为开发人员提供了便捷的检索服务. 今天我将为大家介绍Poi检索相关的内容. 首先,我们要构建一个最主要的地图应用.详细介绍请參考:百度地图SDK for Android[ ...
- hdu 3547 DIY Cube (Ploya定理)
DIY Cube Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total S ...
- 英语影视台词---二、Inception
英语影视台词---二.Inception 一.总结 一句话总结:盗梦空间 1.You're waiting for a train..A train that will take you far aw ...
- vue父子间通信案列三($emit和prop用法)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- VC++中的延时函数
原文链接:http://www.educity.cn/develop/478947.html VC中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和 ...
- noip 2018 day1 T2 货币系统 完全背包
Code: #include<cstdio> #include<string> #include<cstring> #include<algorithm> ...
- Linux登陆类型-Linux中如何临时配置IP
Linux登录: 本地登录,直接在Linux主机上接上键盘显示器,然后输入用户名密码登录 远程登录,通过网络进行登录(需要IP 账户名 密码) windows中远程登录软件有 xshell.putty ...
- MySQL Field排序法
检索 id = 2 or id = 5 or id = 9 or id = 56 or id = 38.然后按照 2 , 5, 9, 56, 38 这个顺序排列,这是题目要求 以下为解决方案: 1 ...
- IT痴汉的工作现状41-亲历招投标
2015年9月3日早7点,复兴门外大街已是车水马龙.伟仔早早的从东直门赶到这里.呼吸着首都特有的雾气,回味着昨晚与齐天的那一顿簋街麻小,想象着今天的大场面,心中不免有一丝紧张. 今天是个重要的日子,是 ...