技术开发 频道

在C++中实现四种进程或线程同步互斥的控制

IT168技术文档】

    很想整理一下自己对进程线程同步互斥的理解。正巧周六一个刚刚回到学校的同学请客吃饭。在吃饭的过程中,有两个同学,为了一个问题争论的面红耳赤。一个认为.Net下的进程线程控制模型更加合理。一个认为Java下的线程池策略比.Net的好。大家的话题一下转到了进程线程同步互斥的控制问题上。回到家,想了想就写了这个东东。

    现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。

    这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中可以找到更加详细的解释

    1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。

    2互斥量:为协调共同对一个共享资源的单独访问而设计的。

    3信号量:为控制一个具有有限数量用户资源而设计。

    4事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。

0
相关文章