MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后...
分类:
其他好文 时间:
2014-06-26 00:33:04
阅读次数:
295
生产者:不停地往队列中放数据
消费者:不停地从队列中拿数据
两者通过两个信号量同步
当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢?
我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:
编程语言 时间:
2014-06-25 00:07:17
阅读次数:
225
基于初级的线程池优化,这里最主要的问题是解决线程id的管理问题,以及线程取消的管理
这里采用链表来管理线程id,链表的特性便于新增和删除,引进thread_revoke结构体来标记全局的取消线程信息,先分析一下线程什么时候需要取消:当任务很少,少到tasknum
这里维护一个取消队列,在线程取消时,置全局取消标志位为1,pthread_broadcast()唤醒所有线程,让在线程唤醒时会判断...
分类:
编程语言 时间:
2014-06-24 23:50:26
阅读次数:
489
搜索这种东西只要写之前规划得当还是蛮顺手的。。
mark[x1][y1][x2][y2]表示小人在(x1,y1) 盒子在(x2,y2)这种状态是否到过。
剩下的就是优先队列 + bfs 了,另外开一个栈记录前驱以输出路径。
#include
#include
#include
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2014-06-24 23:18:20
阅读次数:
159
一、什么是优先队列?
看一情景:我们去KTV唱歌,点歌的时候,可以发现所点的歌就是一个队列。
这时候,一个MM突然不玩手机了想唱歌,于是她来点歌,并且想尽早轮到她。
于是她可以选择“插歌”这个功能插到前排队列里。
这种具备可以插入优先权元素的队列,就叫优先队列。但是,这个定义不是严谨的。
优先队列的基本模型是这样的——
具备两个功能:
insert插入;
dele...
分类:
其他好文 时间:
2014-06-24 21:41:44
阅读次数:
182
三种IPC被称作XSI IPC,分别是:
消息队列信号量共享存储器
下面分别介绍三种IPC的用法。
1、消息队列
消息队列是消息的链接表,具有如下函数接口:
msgget:创建一个新队列或打开一个现存的队列。msgsnd:将消息添加到队列尾端。msgrcv:从队列中取消息。
我们可以自行定义一个表示消息的结构体,它由类型字段和实际数据组成:
struct ...
分类:
系统相关 时间:
2014-06-24 20:45:32
阅读次数:
319
队列的顺序实现,链对实现。使用链对输出杨辉三角形(二项式列表)
分类:
其他好文 时间:
2014-06-22 13:39:04
阅读次数:
155
转载:大关的博客Java多线程阻塞队列和并发集合本章主要探讨在多线程程序中与集合相关的内容。在多线程程序中,如果使用普通集合往往会造成数据错误,甚至造成程序崩溃。Java为多线程专门提供了特有的线程安全的集合类,通过下面的学习,您需要掌握这些集合的特点是什么,底层实现如何、在何时使用等问题。3.1 ...
分类:
编程语言 时间:
2014-06-22 13:38:04
阅读次数:
258
nginx使用了间接回调机制,结合upstream机制的使用来说明一下,首先明确几个事实:
1)其实ngxin和下游客户端的连接使用的是ngx_http_connection_t,每个连接对应着一个读事件、一个写事件,epoll监听队列监听的是事件(ngx_event_t),但是事件的data字段对应于这个事件所属的连接(ngx-connection_t)。但是nginx和上游服务器之间的连接使...
分类:
其他好文 时间:
2014-06-22 06:25:18
阅读次数:
206