b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

windows多线程编程_c语言 windows 多线程_linux多线程编程实例(3)

电脑杂谈  发布时间:2017-05-28 10:16:20  来源:网络整理

l 包含线程的进程终止(应当避免这种方式)

4 .2线程退出时OS的行为

l 线程内的所有用户对象被释放。

l 线程的退出码从STILL_ACTIVE改为传递给ExitThread或TerminateThread的代码

l 线程内核对象的状态改为“已通知”

l 如果线程为进程中的最后一个线程,则OS将进程当作已终止运行

l 线程内核对象的引用计数器减1(一旦线程终止了,其他引用改线程内核对象将不能够处理改线程的句柄,但是可以通过调用GetExitcodeThread来检查hThread代表的线程是否已经终止运行了。)

5 线程同步5 .1线程同步的起因以及解决之道5 .1.1共用资源型:多个线程需要访问同一个资源的时候,为了保证资源不被破坏,需要线程对资源的访问具有原子性。5 .1.2依赖型:一个线程等待另外一个线程某件事情完成后才能执行_可以通过手动事件的方式互相通知。windows多线程编程5 .2线程同步种类细分

CreateEvent

Event的重要属性有一个是“自动”or“手动”,如果是自动的,则在某个线程用Wait××成功等待到事件的“通知”状态后,则事件状态立刻变成“未通知”状态,以保证同时对资源访问的线程只有一个。

特别说明:WaitForSingleObject/WaitForMultipleObject是抑制线程本身的一种手法,配合以共用资源对象或所依赖的其他对象“通知状态”的原子性变化,以达到线程在争用资源、互相依赖时执行的顺序化,从而达到同步的目的。

综上:其实Windows的线程同步机制是提供了一组不同情况下的资源争用处理办法而已。与此同时推出的Wait××却可以带来很多其他好处,甚至部分缓解C++语言没有事件机制的缺憾,部分达到了JA,C#中事件机制的效果,为Oberserve模式的实现做了些贡献。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49700-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...