阻塞队列是后台开发中多线程异步架构的基本数据结构,像python, java 都提供线程安全的阻塞队列,c++ 可能需要自己实现一个模板。
从性能考虑,自己没有使用STL的queue作为基本数据结构,而是使用循环数组作为基本数据结构,性能应该比queue高,省去了动态内存分配和回收。
确定就是,队列大小不可动态扩展,当时实际开发中,可以通过压力测试,配置合适的队列大小。
代码量非常小,可以进行工程开发直接使用。...
分类:
编程语言 时间:
2014-11-14 00:15:05
阅读次数:
500
公测以来的两次全服维护,都遇到了个别服务器停服时间异常长的情况,具体表现为停服流程阻塞在MySQL存盘,待存储数据一直不减少,持续大概一个小时到两个小时之后继续存储,成功停服,并SQLError报错“Lost connection to MySQL server during query”。 ...
分类:
数据库 时间:
2014-11-13 23:56:30
阅读次数:
385
socket() 创建一个通讯端点并返回一个套接口。但是在socket库中例程在应用于阻塞套接口时会阻塞。 WSASocket()的发送操作和接收操作都可以被重叠使用。接收函数可以被多次调用,发出接 收缓冲区,准备接收到来的数据。发送函数也可以被多次调用,组成一个发送缓冲区队列。 可是...
分类:
其他好文 时间:
2014-11-13 22:19:24
阅读次数:
230
综述这篇文章探讨并比较两种用于TCP服务器的高性能设计模式。 除了介绍现有的解决方案,还提出了一种更具伸缩性,只需要维护一份代码并且跨平台的解决方案(含代码示例),以及其在不同平台上的微调。 此文还比较了java、c#、c++对各自现有以及提到的解决方案的实现性能。系统I/O 可分为阻塞型, 非阻塞...
分类:
其他好文 时间:
2014-11-13 22:09:08
阅读次数:
294
一.一个问题有这样一个问题值得我们思考,若把一些类似于下载的功能(既耗时且不一定有结果)写在Activity(主线程)里,会导致Activity阻塞,长时间无响应,直至页面假死(如果5秒钟还没有完成的话,会收到Android系统的一个错误提示 "强制关闭")。因此,我们需要把这些耗时的操作放在单独的...
分类:
移动开发 时间:
2014-11-13 18:49:11
阅读次数:
234
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
其他好文 时间:
2014-11-13 16:19:13
阅读次数:
175
一 : 查看死锁以及数据表阻塞信息 1 CREATE procedure sp_who_lock 2 as 3 begin 4 declare @spid int 5 declare @blk int 6 declare @count int 7 declare @index int ...
分类:
数据库 时间:
2014-11-13 14:37:21
阅读次数:
347
1、nginx相对于apache的优点:轻量级,同样起web服务,比apache占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache相对于...
分类:
Web程序 时间:
2014-11-13 12:39:59
阅读次数:
255
【编程环境】Visual Studio 2010, NET4.0【开发语言】C#, 理论上VB.NET等依赖.NET Framework框架的语言均受此影响【问题描述】使用HttpWebRequest抓取网页内容,但首次请求总是莫名奇妙的阻塞在Request.GetResponse();上,不过一旦...
分类:
Web程序 时间:
2014-11-12 22:47:38
阅读次数:
270
C10K问题网络服务在处理数以万计的客户端连接时,往往出现效率底下甚至完全瘫痪,这被成为C10K问题。(C10K = connection 10 kilo 问题)。k 表示 kilo,即 1000 比如:kilometer(千米), kilogram(千克)。非阻塞I/O,最关键的部分是readin...
分类:
其他好文 时间:
2014-11-12 22:46:07
阅读次数:
342