1。线程和进程的区别是什么?线程有它的堆栈吗?怎样理解死锁。
2。怎么理解windows消息机制。怎样理解“向对象发送一个消息”着句话。
2。怎么理解windows消息机制。怎样理解“向对象发送一个消息”着句话。
解决方案 »
- delphi xe3更换皮肤档
- stringgrid
- 对于“2005-05-25”这类的时间格式,怎么自动加上一个月?变成2005-06-25
- 请问应如何按照正规程序开发一套管理软件?请高手指点,分没有问题,不够再加
- 请大家帮帮我把,我怎么也想不出来了,这个键盘钩子就是不执行?
- 在fastreport中怎么得到总页数?
- 数据接口
- 如何使加载的图片透明
- ADO的效率慢慢降低, newyj(吴刚vs西西弗)..... 等人来取分!
- 如何搜索一个目录下的所有文件?
- 用InstallShield对应用程序打包时,如果是用ADO作数据引擎,该怎样打包?
- 与高手探讨一个异常处理的问题,如果回答满意,还可以加分
(1) 进程是操作系统为了分时多任务处理而引入的 ,它指一个程序在一个资源上的一次执行,在存储上表现为从创建到释放这块资源;它的引入极大的利用了Cpu的时间片,提高了系统的效率;线程是为了在一个进程合理的配置和使用资源而引入的。进程的任务由它的各个线程完成,任何一个进程都至少有一个线程----主线程,进程的多个线程一起完成了整个进程的任务同时对资源的配置和使用进行了优化,虽然一个线程占用的资源很少(只有它的Create资源),但多个线程一起共用了进程的全部资源。简单我觉得可以这样说: 线程是进程的执行单元 .
(2) 我认为,线程从创建到释放,有自己的堆栈 .
(3) 死锁 : 操作系统书上这样解释:一组进程中的其它进程无限等待该组进程中的某个进程释放其使用的资源, 形成死锁。 我认为这样的概念同样可以用在一个进程的多线程中,因为线程中代码也可能形成对资源的独占,但没有外部强制终止这个线程时,就形成了永久的独占,形成死锁 .其实所有的死锁的原因只有一个:资源竞争 .
2.消息可以参考以下几个方面:
消息可以理解为系统的一个事件,如鼠标动作、键盘动作,对象事件,都需要Windows消息系统的接收消息、放入消息队列、消息循环、处理消息。
消息队列、消息循环、消息处理 。其中消息循环是Windows消息机制的关键 .
向对象发送消息 :其实是向消息处理的对象(如窗体)发送一个消息 ,这是消息循环中的一个环节 .以上是我的想法,望大家指导指正 。
对于互斥就是实现避免多个线程并发访问同一资源的一种机制。