首页 »标签 » 多线程支持库1.1版 » 列表
2008年10月29日多线程:chrome源码解析系列:chrome 线程体系
那么现在将要深入BrowerProcess和 RenderProces里面去,揭开里面有多少线程,线程间怎样交互。
现在有有一下的问题:
BrowerProcess中有UI显示部分,消息接受部分,HTTP页面下载部分,然后其他一系列读取COOKIE,写文件,读写数据库,等操作是怎么协调?怎么分工的?之间又是怎么交互的?
RenderProces中渲染部分和接收 BrowerProcess消息部分是怎么交互的?
RenderProces是怎么发送消息的到BrowerProcess中的?
注意为了方便理解这里先还是先抛开PluginPr...
[阅读全文] [PDF]
当开发的软件发布以后,在客户那运行时可能会因为各种原因导致程序退出。这种情况很尴尬,很明显我们无法在客户机器上装个Visual Studio调试,所以必须有机制来收集出错的信息。软件本身的运行日志能提供部分信息,但是可能还不够。Windows系统为此提供了解决方案:Dr.Watson工具。Dr.Watson也算是一个小巧的调试器,32位的版本名字是drwtsn32.exe。可用于当系统中有进程发生异常崩溃时采集信息。下面结合一个例子看一下其用法。
先把测试代码贴一下:
/*****************************...
[阅读全文] [PDF]
摘要: 服务器端基于select I/O模型。为防止程序界面阻塞, 有一个子线程用于不断接收socket并select其中的处理。客户端只有一个线程函数, 不过其利用率很高, 可用于远程目录交换, 请求文件大小, 创建若干线程来下载文件。文件传输有上传和下载,还有对等传输, 这个项目中, 传输文件具体指下载。正文:一 数据及数据结构1 传送包, 客户端主线程给子线程传递的结构体typedef struct{
char packetType; // 请求类型 r:request rootdriver d:directory f:file D...
[阅读全文] [PDF]
2008年9月25日内存模型:多线程内存模型
这个系列其实早就想写了,断断续续关注C++0x也大约有两年余了,其间看着各个重要proposals一路review过来:rvalue-references、concepts、memory-model、variadic-templates、template-aliases、auto/decltype、GC、initializer-lists… 总的来说C++09跟C++98相比的变化是极其重大的。这个变化体现在三个方面,一个是形式上的变化,即在编码形式层面的支持,也就是对应我们所谓的编程范式(paradigm)。C++09不会引入新的编程范式,但在对泛...
[阅读全文] [PDF]
2008年9月24日多线程支持库1.1版:支持多线程的日志类,可以在线程中使用,用来与主窗口通讯
在一些涉及到多线程的程序设计中,线程常常有一些消息要发送到用户界面进行显示。这方面处理的方法很多,有通过消息传递、全局变量、管道等。这里给出了一种通过消息传递和全局变量相结合的处理的方法。并且把代码封装到一个TLog类中,使用方便。在这里和大家分享。//TLog类说明部分,事实上该类是一个“日志队列”const MAX_LOG_LEN=1024; type TLog=class private FLock:TCriticalSection;//互斥类,用于线程互斥访问 //定义日志项循环队列--由于队列的特性,最多能保存MAX_LO...
[阅读全文] [PDF]
1 共5条 分1页