luoyeyiliunian 2016-03-29 04:57 采纳率: 50%
浏览 3210
已采纳

跪求大神,编写算法实现并发进程的模拟

一、实验目的
1. 了解进程的原因执行顺序,以及并发进程的运行次序
2. 进一步深刻理解操作系统在多进程(线程)执行中的作用
二、实验内容
1. 实现并发进程的程序模拟
2. 可以多线程编程代替并发进程
三、实验要求
1. 实现多进程(线程)程序编码,程序须要体现出多线程的并发执行的特征:运行结果无序、不可重现
2. 在上述基础上,考虑为多线程设置同步机制,程序须要体现出同步多线程的特点,即运行结果的可再现性
四、实验提示
1. 多线程运算结果的不可重现,是因为对公共变量的访问不受控制。多线程设置同步机制,即要求多线程访问的公共变量被同步锁控制,即可达到运行结果的可再现性。
2. 同步锁常用的方法有:设置布尔变量的同步锁,当该布尔变量为true时允许访问,false时不能访问;或设置一个整型变量lock,初始值为1,有线程访问公共变量时执行lock--,访问完成后执行lock++,规定访问公共变量的条件是lock=1;或其他同步锁方法
3. 编程语言不限,VB、VC、java、C# 均可
4. 算法(源程序)

  • 写回答

1条回答

  • 咖啡不加盐 2016-03-29 05:02
    关注

    读者写者问题就是典型的并发处理,你可以去看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog