2011年5月17日

进程与线程

摘要: 进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄存器和堆栈。每个进程中至少有一个线程在执行其地址空间中的代码。如果没有线程执行进程地址空间中的代码,进程也就没有继续存在的理由,系统将自动清除进程及其地址空间。多线程的实现原理创建一个进程时,它的第一个线程称为主线程(Primar 阅读全文

posted @ 2011-05-17 10:24 伪君 阅读(200) 评论(0) 推荐(0) 编辑

线程同步

摘要: 临界区(criticalSection)又称阻塞,它能够使一段代码只由一个线程来执行,其它线程被挡在这段代码之外,直到第一个线程执行完代码。临界区的使用主要涉及如下API函数:initializeCriticalSection(), 在临界区首次使用之前,用此函数进行初始化。deleteCreticalSection(), 在临界区不再使用之前,用此函数释放临界区。enterCriticalSection(), 在初始化之后,用此函数进入阻塞。leaveCriticalSection(), 在代码执行完之后,用此函数解除阻塞。互斥(mutex)互斥比较类似阻塞,关键在于互斥可以跨进程的线程同步 阅读全文

posted @ 2011-05-17 10:23 伪君 阅读(224) 评论(0) 推荐(0) 编辑

导航