使用DEV C++打开:

这是进程同步与互斥代码,第一次自己写的,写得不好多多支持
#include<stdio.h>
#include<windows.h>
#include<string> 
using namespace std;
FILE* fw;
HANDLE event;
char s[1]={'w'};
void suo(){
    WaitForSingleObject(event,INFINITE);

DWORD athread(LPVOID p){
    long long A=(long long)p;
    printf("当前调用:%d\n",A);
    char msg;
    itoa(A,&msg,10);
    HANDLE hMutex = CreateMutex(NULL,FALSE,"MyFileMutex");
    suo();    
    fw=fopen("1.txt","a+");
    fwrite(&msg,1,1,fw);
    fwrite(&s[0],1,1,fw);
    fclose(fw); 
    ReleaseMutex(hMutex);
    SetEvent(event);
    return 0;
}

int main(){
    HANDLE Hthread[6];
    event=CreateEvent(NULL,false,true,"a");    
    for(int i=0;i<=5;i++){
        Hthread[i]=CreateThread(NULL,0,athread,(LPVOID)i+1,0,0);
        Sleep(1000);
    }
    WaitForMultipleObjects(4,Hthread,1,INFINITE);
    return 0;
}

操作系统c语言实现进程同步与互斥代码相关推荐

  1. C语言实现进程同步与互斥

    C语言实现进程同步与互斥 实验原理 (1)同步和互斥(生产者消费者问题) 同步是一种更为复杂的互斥,而互斥是一种特殊的同步. 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性.但 ...

  2. 操作系统原理教程:进程同步与互斥

    在一个进程使用这些变量尚未结束期间,另一个进程也开始使用,这种错误通常称为"与时间有关的错误".导致出错的原因有两个:共享了变量.同时使用了这些共享变量.较好的解决办法是允许共享, ...

  3. 进程同步与互斥c语言实验,操作系统进程同步与互斥实验报告.doc

    PAGE PAGE 1 学 生 实 验 报 告 姓名: 年级专业班级 学号 成绩 课程名称 操作系统 实验名称 实验1 进程的同步与互斥 实验类型 验证 设计 综合 创新 [实验目的.要求] 1.通过 ...

  4. 计算机操作系统专题一:多道环境下进程同步与互斥制约关系的学习

    1. 问题描述 设自行车生产线上有一只箱子,其中有N个位置(N≥3),每个位置可存放一个车架或一个车轮,又设有三名工人,其活动分别为: 2. 问题分析(包括涉及的知识点.制约关系分析.问题的解决思路等 ...

  5. 操作系统实验报告15:进程同步与互斥线程池

    操作系统实验报告15 实验内容 实验内容:进程同步. 内容1:编译运行课件 Lecture18 例程代码. Algorithms 18-1 ~ 18-9. 内容2:在 Lab Week 13 的基础上 ...

  6. 操作系统:第二章 进程管理3 - 进程同步与互斥

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

  7. 【操作系统基础】进程管理(三)进程同步与互斥

    一.进程同步.互斥的基本概念 1. 什么是进程同步 进程具有异步性的特征.异步性是指各并发执行的进程以各自独立的.不可预知的速度向前推进.举一个线程通信的例子,管道通信: 读进程和写进程并发运行,由于 ...

  8. 7 操作系统第二章 进程管理 进程同步与互斥

    文章目录 1 进程同步与互斥 1.1 进程同步 1.2 进程互斥 1.3 进程同步机制遵循的原则 1.3 进程同步.互斥小结 2 进程互斥实现方法 2.1 互斥的软件实现方法 2.1.1 单标志法 2 ...

  9. 操作系统——进程同步与互斥

    文章目录 进程同步与互斥 简介 进程间合作 进程间合作的问题 竞争条件 原子操作 临界区相关的几个概念 忙等待的互斥 基于硬件的同步解决办法:屏蔽中断 基于软件的同步解决方法 严格轮换法 Peters ...

最新文章

  1. VTK:vtkCaptionActor2D用法实战
  2. mac下anaconda安装selenium+PhantomJS
  3. HTML第八章ppt,html教程第八章(JavaSript核心语言对象).ppt
  4. linux远程连接最大数是多少,Linux Shell 脚本限制ssh最大用户登录数
  5. 商品搜索——输入联想|智能提示探索
  6. 业界领先的最新版本Oracle数据库现可部署在云端 以及Oracle Cloud at Customer和企业本地...
  7. 在算法横行的时代,仍需要人类把关
  8. 第二周四则运算汇报及总结
  9. 存储过程适用于你吗?
  10. 使用Java的MessageDigest实现MD5加密算法
  11. 鸿蒙系统 微内核 sel4,微内核 seL4 Mapping
  12. server can't find test.com: SERVFAIL
  13. 关于一次pkgs --update错误记录(cmd_package_update 451)
  14. [转载]关于如何选择5D2和6D的忠告_我是亲民_新浪博客
  15. JAVA导出EXCEL实现
  16. 192、如何查询局域网内在线的监控设备IP
  17. 4万字【Python高级编程】保姆式教学,Python大厂高频面试题解析
  18. 国家计算机一级考试题库百度云,全国计算机一级考试题库
  19. 两栈共享空间的存储结构设计
  20. 解读 | 全球七大央行最新报告:CBDC发行原则与核心特征

热门文章

  1. C语言之三目运算符---学习笔记
  2. 伪指令 - ARM汇编指令(四)
  3. 不小心按到了键盘,导致输入的英文字母间距很大,该怎么解决
  4. 【数学】函数极限计算
  5. c语言atof函数_atof()函数与C ++中的示例
  6. vector 多维向量定义及其初始化
  7. Centos安装rebar3
  8. OpenCV BGR RGB 灰度图像 彩色图像
  9. MTK9652和Mstar938的区别
  10. JS获取IP地址,登录地点的方法