- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 了解使用ptr_fun、mem_fun和mem_fun_ref的原因
ptr_fun/mem_fun/mem_fun_ref系列是什么意思的?有时候你必须使用这些函数,有时候不用,总之,它们是做什么的?它们似乎只是坐在那里,没用地挂在函数名周围就像不合身的外衣。它们不好输入,影响阅读,而且难以理解。这些东西是STL古董的附加例子(正如在条款10和18中描述的那样),或者只是一些标准委员会的成员因为太闲和扭曲的幽默感而强加给我们的语法玩笑?冷静一下。虽然ptr_f
2008-07-07 23:20:00 1403
原创 GNUGK(2.2.3)源代码分析之线程池结构
GNUGK2.2.3一改之前2.0版本版本的单线程结构。采用了作业(Job,Task)-代理(Agent)-执行者(Worker)三层控制结构 。使整个体系结构更加易于扩展和清晰。在这里主要分析Job,Task,Agent,Worker他们之间的关系,以及Job的派生类Jobs与RegularJob时等。理解Job,Agent,Worker三个类之间的关系,需要跟大家复习一下操作系统中的程
2008-07-07 23:19:00 857
转载 深入浅出Win32多线程程序设计之线程控制
WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。一、线程函数 在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT,线程函数的结构为:UINT ThreadFunction(LPVOID pParam){ //线程处
2008-07-02 15:37:00 1825
转载 同步机制及windows同步函数的使用
本篇文章适合比较熟悉多线程并且想学习线程同步的读者。最近由于使用多线程,不可避免的要用到线程之间的同步,对一些常用的windows 中同步函数和机制有了一些初步的了解,并且写了一些小例子来验证,当然其中难免有错误和疏漏之处,希望高手能给我这个小鸟指出不足之处,非常感谢。目录一 临界区二 互斥体三 事件四 信号量五 附录一 临界区临界区的使用在线程同步中应该算是
2008-07-02 11:13:00 998
转载 C++多线程-信号量Semaphore
多线程同步之Semaphore (主要用来解决生产者/消费者问题)一 信标Semaphore信标内核对象用于对资源进行计数。它们与所有内核对象一样,包含一个使用数量,但是它们也包含另外两个带符号的3 2位值,一个是最大资源数量,一个是当前资源数量。最大资源数量用于标识信标能够控制的资源的最大数量,而当前资源数量则用于标识当前可以使用的资源的数量。为了正确地说明这个问题,让我们来看一
2008-07-01 22:46:00 5501
转载 C++多线程之Mutex
多线程之线程同步Mutex (功能与CriticalSection相同,保证某一时刻只有一个线程能够访问共享资源,但是是内核对象,所以访问速度要比CriticalSection要慢,但是增加了等待超时的功能,使用时可以根据实际的情况选择其一)一 Mutex 互斥对象(mutex)内核对象能够确保线程拥有对单个资源的互斥访问权。实际上互斥对象是因此而得名的。互斥对象包含一个使用数量
2008-07-01 22:10:00 6606
转载 C++多线程-互锁
多线程同步之WIN API互锁函数 (可以避免使用CriticalSection或Mutex)一 互锁函数 互锁函数的家族十分的庞大,可以查看msdn(http://msdn2.microsoft.com/en-us/library/ms686360.aspx)以InterLocked开始的函数都是户数函数。使用互锁函数的优点是:他的速度要比其他的CriticalSect
2008-07-01 21:59:00 7198
转载 C++多线程-Critical Section
多线程同步之Critical Sections(功能与Mutex相同,保证某一时刻只有一个线程能够访问共享资源,但是不是内核对象,所以访问速度要比Mutex快,但是增没有等待超时的功能,所以有可能会导致死锁,使用时可以根据实际的情况选择其一)一 Critical Sections1) 因为Critical Sections不是内核对象,所以只能用来统一进程内线程间的同步,不能用来多个不
2008-07-01 21:46:00 6164 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人