1.Binder(IPC)Linux进程之间要能够互相通信,从而共享资源和信息。所以,操作系统内核必须提供进程间的通信机制(IPC,Inter-Process Communication)。IPC机制种类:采用命名管道(name pipe),消息队列(message queue),信号(signal...
分类:
其他好文 时间:
2014-06-26 20:48:54
阅读次数:
329
客户端(>5w)异步connect连接到server端,server端listen backlog设置为1024,发现存在部分客户端建立连接后,收到服务端的rst包。先看下tcp监听套接字维护的两个队列(来自Unix网络编程)测试模拟抓包如下:解释:异步connect过快,导致server端list...
分类:
其他好文 时间:
2014-06-26 17:51:36
阅读次数:
248
题目//做哈夫曼树时,可以用优先队列(误?)//这道题教我们优先队列的一个用法:取前n个数(最大的或者最小的)//哈夫曼树//64位//超时->优先队列,,,,//这道题的优先队列用于取前2个小的元素#include #include#include#include#includeusing nam...
分类:
其他好文 时间:
2014-06-26 16:01:24
阅读次数:
215
Nucleus Plus内核(Kernel)的主要目的是管理实时任务的竞争运行(共享CPU),为应用提供各种便利,快速响应外部事件。Nucleus Plus的系统结构如图1所示,可以看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件组和信号实现任务间的同步。本文描述了Nucleus PLUS的任务调度算法。...
分类:
其他好文 时间:
2014-06-26 13:43:24
阅读次数:
256
对于接触过数据结构的人来说,队列并不陌生,它是一种FIFO(first in first out)的数据结构。与栈相比,队列的不同之处在于:(1)队列是一种先进先出的数据结构,而栈则是一种后进先出的数据结构;(2)队列支持首尾两端的访问操作,而栈只支持一端(即顶端)的访问操作;(3)队列从队尾插入,从队首弹出;而栈的插入和弹出都位于栈顶。...
分类:
其他好文 时间:
2014-06-26 13:34:53
阅读次数:
249
一、几个关键概念
1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。
创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一个默认的Looper对象,而Looper对象的创建,将自动创...
分类:
移动开发 时间:
2014-06-26 10:59:25
阅读次数:
307
项目中一个算法中涉及到了组合,大概业务是:给定一个值X,从n个数中找出能组合加起来和X相等的集合。如果用通常的组合算法,数量级是2的n的阶乘,如果记录比较多的话,有效率问题。我针对我们的业务,优化写了一个算法。
大概逻辑:先给n个值从小到大排序形成一个队列,组合数从2开始依次递增,每次执行一个剔除操作,假设组合数递增到m,取队列中前面m-1个连续的值,并加上最大的一个值V,如果大于...
分类:
其他好文 时间:
2014-06-26 10:36:46
阅读次数:
234
在上一篇中testpmd程序已经测试成功的情况下,来到examples/ipvr_frag目录中。
确认环境变量RTE_SDK、RTE_TARGET都正确,执行make。
一、一个逻辑核(lcore)处理一个端口(port)
./build/app/ipvr_frag -c 0x1 -n 4 -- -p 0x1 默认是一个队列
下图是官方对参数p、q的说明文档截图
运行结果如下图...
分类:
移动开发 时间:
2014-06-26 10:27:38
阅读次数:
314
kuangbin题解写的很好,我就不赘余了。。
一下解释来自kuangbin:
题意:有n个人排队等着在官网上激活游戏。Tomato排在第m个。
对于队列中的第一个人。有一下情况:
1、激活失败,留在队列中等待下一次激活(概率为p1)
2、失去连接,出队列,然后排在队列的最后(概率为p2)
3、激活成功,离开队列(概率为p3)
4、服务器瘫痪,服务器停止激活,所有人都无法激活了。
...
分类:
其他好文 时间:
2014-06-26 07:29:11
阅读次数:
210
作为一个Celery使用重度用户,看到Celery Best Practices这篇文章,不由得菊花一紧。干脆翻译出来,同时也会加入我们项目中celery的实战经验。通常在使用Django的时候,你可能需要执行一些长时间的后台任务,没准你可能需要使用一些能排序的任务队列,那么Celery将会是一个非常好的选择。当把Celery作为一个任务队列用于很多项目中后,作者积累了一些最佳实践方式,譬如如何用...
分类:
其他好文 时间:
2014-06-26 07:18:06
阅读次数:
274