分享一个多线程的日志库

思路部分参考了陈硕的 muduo,主要就是多线程写的安全性,以及一些日志分级,自动分割等常用功能,线上几十近百台机器一两年的运行没有发现什么问题 /* * encoding: gbk * created: 2013-09-05 10:33:59 * * 日志工具 * 工具在初始化的时候从堆上分配一片内存,当作二维 char 数组来用 * 每个写入线程在写……

阅读全文

写一个日志模块

今天在写一个日志模块,遇到一些问题,学到了一些东西,记一下。 一开始想到,cpp 这么成熟的社区,日志这么基本的模块,应该现成的有很多吧,随便找一个来用就可以了,上网搜了一圈,发现真是一团混乱啊,看到这里,http://blog.csdn.net/junchaox/… 待选为 glog、log4cplus、log4cpp、log4cxx 目前准备使用glog,……

阅读全文

不同服务器端模型在并发请求下的表现差异

一般来说,服务器的模型有下面几种: 单进程单线程 多进程(一个请求对应一个进程,Apache 之类貌似就是这个) 多线程(一个请求对应一个线程,这个挺少见到的) select / poll epoll 它们的差别可以看这个,http://www.cnblogs.com/sharra/… 因为需要了解底层设备访问的原理,所以惯用高层应用语言的我,需要了……

阅读全文

在 HTTP 协议下分段下载文件

最近想要搞一个 linux 下的多线程下载工具,就像 wget 那样可以,只不过是多线程的,其中遇到一个问题,就是 http 如何分段下载,查找资料最后看到这里,http://www.rosoo.net/a/201006/… 假如一个文件有1000个字节,那么其范围就是0-999,则: Range: bytes=500- 表示读取该文件的500-999字节,共500字节。 ……

阅读全文

C# .NET 中停止一个线程

在下载一些文件的时候,网络 IO 可能导致超时,于是想要杀掉那个线程,但是却发现这个不太好做,查了一下,这里说,http://stackoverflow.com/quest… The reason it’s hard to just kill a thread is because the language designers want to avoid the following problem: your thread takes a lock, and t……

阅读全文

C# 状态栏更新不及时的问题

根据这里,http://social.msdn.microsoft.c…,根本问题是线程忙于跑循环,所以没有能及时来绘制 UI,所以解决方法自然就是多线程绘制 UI,他给了几个链接,不过这个不是目前最亟待解决的,所以先放一放 因为循环跑太快了,UI来不急更新画面,UI线程忙着处理循环内的事,虽然可以使用DoEvents让UI更新,但这并不是正……

阅读全文