
WIN32下的多线程
文章平均质量分 81
wudi_1982
这个作者很懒,什么都没留下…
展开
-
WIN32下DELPHI中的多线程【深入VCL源码】(一)
线程的基础知识 线程的组成。线程有两部分组成。 1、一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。 2、另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量。 进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。这意味着线程在它的进程地址空间原创 2006-09-27 04:19:00 · 2093 阅读 · 0 评论 -
WIN32下DELPHI中的多线程【线程的调度】(二)
线程的调度 每个线程是拥有一个上下文结构的,这个结构维护在线程的内核对象中。这个上下文结构反映了线程上次运行时该线程的C P U寄存器的状态。每隔20ms左右,Windows要查看当前存在的所有线程内核对象。在这些对象中,只有某些对象被视为可以调度的对象。Windows选择可调度的线程内核对象中的一个,将它加载到C P U的寄存器中,它的值是上次保存在线程的环境中的值。这项操作称原创 2006-09-28 03:57:00 · 1519 阅读 · 0 评论 -
WIN32下DELPHI中的多线程【同步1】(四)
线程的同步 在使用的时候,多线程最让人头疼的也许就是同步了。 如果你的线程只是完成一件并不需要访问线程对象外部资源的工作,在这种情况下,线程互相之间不需要进行通信,此时Windows的运行性能最好。但是,线程很少能够在所有的时间都独立地进行操作。通常情况下,要生成一些线程来处理某个任务。当这个任务完成时,另一个线程必须了解这个情况。 系统中的所有线程都必须拥有对各种系统资源的原创 2006-09-29 06:05:00 · 2301 阅读 · 0 评论 -
WIN32下DELPHI中的多线程【同步2】(五)
线程同步2 上一文中曾经介绍了线程同步的一些方法,其实完成同步还有很多很多的办法,这里最后介绍一种方式--信号量内核对象。并借此来回顾线程同步。 在谈论信号量之前,我想先谈论另外一种方式,一种你最好不要使用的方式。假设你有一个公共内存区域,你不希望一个线程在完成一个操作之前另外一个线程对他进行另外的操作。抛开前面所有的知识,我们可以使用这样一种办法,一种所有人都会想到的办法。原创 2006-09-30 04:49:00 · 1698 阅读 · 0 评论 -
WIN32下DELPHI中的多线程【变量存储】(三)
线程中的变量 由于每个线程都代表了一个不同的执行路径,因此,最好有一种只限于一个线程内部使用的数据, 要实现上述目的有以下几种方式: 1、局部变量(基于栈),很简单,在你的线程函数中你定义的变量既是如此。由于每个线程都在各自的栈中,各个线程将都有一套局部变量的副本,这样,就不会相互影响。对于那些只在过程或函数的生存期有意义的变量,应当把它们声明为局部变量。 2、存储在线程对原创 2006-09-28 07:17:00 · 1443 阅读 · 0 评论