- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 《UNIX编程艺术》(1)---介绍
豆瓣读书介绍------戳这里本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。书本目录
2014-02-14 16:57:35
901
转载 cocos2d-x学习资源汇总(持续更新。。。)
http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.htmcocos2d-x学习资源汇总(持续更新。。。)我之前一直学习c++的,第一次接触cocos2d是oc版的,虽然很好用,但是,我还是对c++情有独钟,再加之cocos2d-x由自己人主导,更应该拥抱她,热爱她,把她发扬光大。之后,我将会全面投入coc
2014-02-14 13:41:26
846
原创 《Win32多线程程序设计》(14)---操作I/O Completion Port
操作概观1. 产生一个 I/O completion port。2. 让它和一个文件handle 产生关联。3. 产生一堆线程。4. 让每一个线程都在com pletion port 上等待。5. 开始对着那个文件handle 发出一些overlapped I/O 请求。产生一个 I/O Completion Port HANDLE CreateIoCompletio
2014-02-13 12:42:10
1197
转载 《Win32多线程程序设计》(13)---理解I/O Completion Port
文章来源:请点这里欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock
2014-02-13 09:00:04
898
原创 《Win32多线程程序设计》(12)---overlapped I/O
文字版电子书-----请点击这里overlapped I/O 是Win32 的一项技术,你可以要求操作系统为你传送数据,并且在传送完毕时通知你。这项技术使你的程序在I/O 进行过程中仍然能够继续处理事务。i 激发的文件handlesi 激发的event 对象i 异步过程调用(Asynchronous Procedure Calls,APCs)i I/O comple
2014-02-12 17:21:04
1066
原创 《Win32多线程程序设计》(11)---ResumeThread()SuspendThread()
初始化一个线程HANDLE hThread; DWORD threadId; hThread = CreateThread(NULL, 0, ThreadFunc, 0, CREATE_SUSPENDED, &threadId); SetThreadPriority(hThread, THREAD_PRIORITY_IDLE); 一旦线程设定妥当,你可以调用Resum eT
2014-02-12 11:06:17
1679
1
原创 《Win32多线程程序设计》(10)---如何终止一个线程
结束一个线程,听起来好容易,但是结束程序必须按次序进行,以避免发生race conditions。让程序依次序进行是非常重要的,特别是在程序要结束之前。结束一个程序就好像拆除一栋建筑物一样,在你以推土机轧平它之前,你必须确定每一个人都安全离开了屋子。结束一个程序也是这样,每一个线程都被迫结束,不管它进行到哪里。利用 TerminateThread() 放弃一个线程BOOL Termi
2014-02-12 10:27:54
952
原创 《Win32多线程程序设计》(9)---同步机制摘要
Critical Section Critical section(临界区)用来实现“排他性占有”。适用范围是单一进程的各线程之间。它是:i 一个局部性对象,不是一个核心对象。i 快速而有效率。i 不能够同时有一个以上的critical section 被等待。i 无法侦测是否已被某个线程放弃。Mutex Mutex 是一个核心对象,可以在不同的线程之间实现“排他
2014-02-12 09:54:38
712
原创 《Win32多线程程序设计》(8)---Interlocked Variables
LONG InterlockedIncrement( LPLONG lpTarget); LONG InterlockedDecrement( LPLONG lpTarget); 参数lpTarget32 位变量的地址。这个变量内容将被递增或递减,结果将与0 作比较。这个地址必须指向long word。返回值变量值经过运算(加1 或减1)后,如
2014-02-12 09:51:46
655
原创 《Win32多线程程序设计》(6)---事件(Event Objects)
HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,BOOL bInitialState,LPCTSTR lpName); 参数lpEventAttributes 安全属性。NULL 表示使用默认属性。该属性在Windows 95中会被忽略。bManualRes
2014-02-12 09:41:57
836
原创 《Win32多线程程序设计》(5)---信号量(Semaphores)
Win32 中的一个sem aphore 可以被锁住最多n 次,其中n 是sem aphore 被产生时指定的。n常常被设计用来代表“可以锁住一份资源”的线程个数,不过并非单独一个线程就不能够拥有所有的锁定。1.产生信号量(Semaphore)HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpAttributes,LONG lI
2014-02-11 22:03:26
865
原创 《Win32多线程程序设计》(4)--- 互斥器(Mutexes)
Win32 的Mutex 用途和critical section 非常类似,但是它牺牲速度以增加弹性。或许你已经猜到了,mutex 是MU Tual EXclusion 的缩写。一个时间内只能够有一个线程拥有mu tex,就好像同一时间内只能够有一个线程进入同一个critical section 一样。虽然mu tex 和critical section 做相同的事情,但是它们的运作还是有差
2014-02-11 21:38:40
1040
原创 《Win32多线程程序设计》(3)---同步控制
让我先对同步(synchronous)与异步(asynchronous)做个说明。当程序1调用程序2时,程序1停下不动,直到程序2完成回到程序1来,程序1才继续下去,这就是所谓的“synchronous”。如果程序1调用程序2后,径自继续自己的下一个动作,那么两者之间就是所谓的“asynchronous”。Win32 API中的SendMessage() 就是同步行为,而Pos
2014-02-11 16:34:28
756
原创 《Win32多线程程序设计》(2)---WaitForMultipleObjects()
DWORD WaitForMultipleObjects( DWORD nCount, CONST HANDLE *lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ); 参数nCount 表示lpH andles 所指之handles 数组的元素个数。最大容量是MAXIMUM_WAIT_OBJECTS。lpHandles 指向
2014-02-11 15:22:49
981
原创 《Win32多线程程序设计》(1)---WaitForSingleObject()
//调用WaitForSingleO bject() 并放置一个“线程核心对象”作为参数,将//使线程#1 开始睡眠,直到线程#2 结束为止。就像Sleep() 函数一样,//WaitForSingleObject() 也有一个参数用来指定最长的等待时间//DWORD WaitForSingleObject(// __in HANDLE hHandle,// _
2014-02-11 14:48:31
1144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人