![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
OS操作系统编程
文章平均质量分 81
计算机操作系统基础及进阶
keneyr
一个兴趣广泛/想成为大佬 且 未遂的二道小贩子
展开
-
C++多线程编程中的Master-Worker设计模式
Master-Worker模式概念Master负责任务的接收和分配,Worker负责具体的子任务执行。每个Worker执行完任务之后把结果返回给Master,最后由Master汇总结果。代码(小声bb,这个c++代码我暂时还没搞完全利索,还有点错,还稍许不知所措,这里放出来是为了快速理解Master-Worker模式,过几天再修缮这篇博客中的代码)下面用Master-Worker实现计算1-100的平方和,思路如下:定义一个Task类用于存储每个任务的数据。Master生产固定个数的Wor原创 2021-02-09 15:35:24 · 1110 阅读 · 0 评论 -
C++多线程编程基础
本博转载于知乎:https://zhuanlan.zhihu.com/p/194198073没想到我第一篇博客是哲学家就餐问题,涉及到多进程编程~ 事隔多年,我又开始折腾多线程编程。只是我真的奇怪,当时我是怎么做到的,写出了多进程的代码?那时的我真棒...1 什么是C++多线程并发?线程:线程是操作系统能够进行CPU调度的最小单位,它被包含在进程之中,一个进程可包含单个或者多个线程。可以用多个线程去完成一个任务,也可以用多个进程去完成一个任务,它们的本质都相当于多个人去合伙完成一件事。.转载 2021-02-08 15:26:23 · 395 阅读 · 0 评论 -
哲学家就餐问题之管程
第一次在csdn上写博客,想说两句话: 1.很喜欢csdn这个网站。希望它越做越好。 2.虽然现在我是菜鸟,但总有一天我会摆脱菜这个名词!*利用管程机制实现。 * 原理:不是对每只筷子设置信号量,而是对每个哲学家设置信号量。 * test()函数有以下作用: * a.如果当前处理的哲学家处于饥饿状态并且两侧的哲学家不在吃饭状态 * 则当前哲学家通过test函数试图进入吃饭状态原创 2015-12-30 16:40:03 · 7717 阅读 · 1 评论 -
UML类关系理解
发现UML图还是很重要的,对于理解类与类之间的关系起着举重若轻的作用。因此今天来详细理解一下。。(文章都不知道怎么分类,瞎几把分类。。。。)类之间的关系:泛化(Generalization)、依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)。一、泛化泛化表现为继承或实现关系。具体形式为类与类之间的继...原创 2019-05-09 01:02:39 · 658 阅读 · 0 评论 -
进程和线程
这个一般和并发编程挂钩。什么时候需要用到并发编程?举个例子,服务器是不是要服务很多个客户端,如果在11:11分,服务器只能服务一个客户端,那其他客户端是不是就傻眼了。就像找对象一样,这个帅哥该时间段只和这个美女谈恋爱,那其他的美女想和他谈恋爱是不是得干等着?所以我们要让帅哥能够并发谈恋爱,同时分身和多个美女谈恋爱。所谓分身的过程就是并发编程。实现并发的方式一般有:多进程、多线程、IO多路复用。详细...原创 2019-07-17 20:44:33 · 231 阅读 · 0 评论