码农充电站--进程与线程进程是容器,本身不是执行实体,线程才是执行实体。进程由两部分组成,1、内核对象,实质是一个数据结构,由操作系统管理2、DLL和执行体(包含堆、栈、代码段)32位的平台下,每个进程有4GB的虚拟内存。由于进程的开辟和加载,操作系统都要切换上下文环境,因此消耗资源比较大。而同一进...
分类:
编程语言 时间:
2014-10-01 01:46:40
阅读次数:
452
在μC/OS-Ⅲ系统中任务挂起表与任务就续表十分相似,只不过任务就续表记录就绪状态的任务,任务挂起表记录等待某个内核对象的任务。任务挂起表是一个类型为OS_PEND_LIST的数据结构,包含三个成员:1、NbrEntries,等待表中表项数目;2、TailPtr,指向等待表中最后一个任务(优先级最....
分类:
其他好文 时间:
2014-09-24 14:49:16
阅读次数:
162
1.new,malloc后没有delete,free这些内存在Debug时候都可以Dump出信息的2.创建内核对象(比如CreateFile,CreateMutex,CreateThread),后没有释放内核对象句柄.3.创建内存映射文件,CreateFileMapping,MapViewOfFil...
分类:
其他好文 时间:
2014-09-15 21:05:39
阅读次数:
190
临界区和互斥锁的区别1、临界区只能用于对象在同一进程里线程间的互斥访问;互斥锁可以用于对象进程间或线程间的互斥访问。2、临界区是非内核对象,只在用户态进行锁操作,速度快;互斥锁是内核对象,在核心态进行锁操作,速度慢。3、临界区和互斥体在Windows平台都下可用;Linux下只有互斥锁可用
分类:
编程语言 时间:
2014-09-15 12:43:08
阅读次数:
241
linux操作系统中,文件是最基本和最重要的抽象,linux遵循一切皆文件的理念。按照不同的属性,文件可以分为普通文件和特殊文件。特殊文件是以文件方式表示的内核对象,linux支持四种类型的特殊文件: 1、块设备文件 (例如硬盘设备) 2、字符设备文件(例如键盘设备) 3、命名管道 (主要...
分类:
编程语言 时间:
2014-09-11 22:08:52
阅读次数:
301
异步编程启用一个应用程序,系统在内存中创建一个新的进程,进程是一组资源,包括虚拟地址控件,文件句柄和程序启动所需要其他载体。进程中创建一个线程内核对象,线程体现了程序的真实执行情况。默认情况下,一个进程包括一个线程,从程序的开始一直到程序的结束。线程池(thread pool)刚开始,进程的线程池为...
分类:
其他好文 时间:
2014-09-10 21:05:41
阅读次数:
165
使线程同步 临界区 管理事件内核对象 信号量内核对象 互斥内核对象 小结 正文 使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理...
分类:
编程语言 时间:
2014-09-06 10:51:43
阅读次数:
321
Windows线程同步
Windows的线程同步可以利用互斥对象来实现,也可以使用事件对象,关键代码段来实现。
1 事件对象实现线程同步
Event对象创建函数
事件对象的创建事件对象属于内核对象,它包含以三个成员:使用计数,是否是自动重置还是人工重置的布尔值,通知状态的布尔值。
HANDLE CreateEvent(
LPSECURITY_ATTRI...
分类:
编程语言 时间:
2014-09-04 13:26:09
阅读次数:
214
转发自:http://www.cnblogs.com/HouZhiHouJueBlogs/p/3945195.html互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问,并且互斥量可以用于不同进程中的线程互斥访问资源。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,...
分类:
编程语言 时间:
2014-09-03 12:43:56
阅读次数:
199
进程的内容包括: 1. 进程内核对象 ,对用户来说是进程句柄 2. 进程运行环境: 如进程当前驱动器 首先进程的定义是, 一个正在运行的程序的一个实例。 进程由两部分组成: 进程内核对象,用于保存进程信息,操作系统用它来管理进程 一个地址空间,用于存放可执行文件或DL...
分类:
其他好文 时间:
2014-09-03 09:33:56
阅读次数:
216