以下是一个案例,有一个店员,负责进货和卖货。进货生产,卖货消费。 当商品超过10件,生产等待,消费继续,当少于0件,消费等待,消费继续。 正常代码如下: 运行结果: 很和谐没问题!,生产者每次生产完就等待一下,导致消费者抢到资源,这样导致:0,1轮替。 但是,如果此时再假如一个生产者和消费者: 此时 ...
分类:
其他好文 时间:
2018-06-04 00:50:25
阅读次数:
171
io_service的任务执行流程:调用run方法,进入主loop;判断公有队列是否为空,不为空则取出任务并执行,当任务数大于1时同时唤醒其他空闲线程;任务执行结束,把各个线程的私有队里面的任务移动到公有任务队列里面。触发reactor,linux下面一般是epoll,当有事件时,把相应的事件的任务 ...
分类:
编程语言 时间:
2018-05-31 02:31:45
阅读次数:
225
寻求外在动力:短期有效的物质奖励 (初期有效,长期消耗递增) 推算型学习:根据已有的方法套路,解题。(总结经验) 探索性学习:没有方法,只能一步步摸索。(探索新方法) 内在动力:自主,使命,专精 自主--抛开规定的学习模式,自己主动寻找有趣适合自己的学习模式,自己决定学习的方式,时间 使命--你想要 ...
分类:
其他好文 时间:
2018-05-27 20:26:32
阅读次数:
166
本文将介绍我曾经做过的一个项目的服务器架构和服务器编程的一些重要细节。 一、程序运行环境 操作系统:centos 7.0 编译器:gcc/g++ 4.8.3 cmake 2.8.11 mysql数据库:5.5.47 项目代码管理工具:VS2013 二、程序结构 该程序总共有17个线程,其中分为9个数 ...
分类:
其他好文 时间:
2018-05-26 17:10:32
阅读次数:
198
原文:WPF MVVM UI分离之《交互与数据分离》在我们使用WPF过程中,不可避免并且超级喜欢使用MVVM框架。 那么,使用MVVM的出发点是视觉与业务逻辑分离,即UI与数据分离 诸如下面的问题: 删除操作,假如需要先执行一部分数据的处理,然后删除界面列表中的子项,之后再执行其它数据的处理。请问此... ...
原文:WPF 窗口居中 & 变更触发机制窗口居中 & 变更触发机制 解决: 1。单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2。多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单实例窗口再次弹出时,位置才更新到父窗口屏幕。 3。子窗口每次唤醒时,都居中显示。 窗口首次显示的位置 - Window... ...
最近遇到一个需求、上层要求我们在自己的APP/WAP/移动端页面点击一个链接能自动跳转唤醒微信和打开一个指定的我们自己的页面,拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档、腾讯的第三方开发文档我们都查阅过资料但是最终只找到一些历史性的资料也就是以前可以现在已经全部封闭了,最终只是找 ...
分类:
微信 时间:
2018-05-25 14:50:41
阅读次数:
620
对生产者和消费者问题的另一个解决办法是使用QWaitCondition,它允许线程在一定条件下唤醒其他线程。其中wakeOne()函数在条件满足时随机唤醒一个等待线程,而wakeAll()函数则在条件满足时唤醒所有等待线程。 1、bool wait (QMutex * mutex,unsigned ...
分类:
其他好文 时间:
2018-05-25 00:17:29
阅读次数:
202
简单用法 QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往下执行。 为了描述方便,这里假设主线程调用Send()往通信口发送一个数据包,然后阻塞等待回包才继 ...
分类:
其他好文 时间:
2018-05-25 00:14:13
阅读次数:
332
1.Object类中的wait()/notify()/notifyAll() wait(): 让当前线程处于Waiting状态并释放掉持有的对象锁,直到其他线程调用此对象的线程notify()/notifyAll()方法,当前线程被唤醒进入Runnable状态 。 wait(long timeout ...
分类:
编程语言 时间:
2018-05-22 22:04:03
阅读次数:
120