boost::thread总结

来源:互联网 发布:chiphell 知乎 编辑:程序博客网 时间:2024/05/07 08:41

1. boost::mutex

    lock() 会一直等待,直到获得一个互斥体

    unlock() 释放互斥体

    try_lock() 不会等待,它只会在互斥体可用时才获得,否则返回false


2. boost::timed_mutex

    timed_lock(time), 试图在一定时间内获得互斥体


3. boost::lock_guard

    会在构造函数调用lock(), 析构函数调用unlock()。是一个RAII用语

    提供了一个模板类

    使用:boost:mutex mutex; 

                boost::lock_guard<boost:mutex> lock(mutex);


4. boost::uniqu_lock

    跟lock_guard的行为是一样的,是RAII用语。

    这个所谓的独占锁意味着一个互斥量同时只能被一个线程获取。 其他线程必须等待,直到互斥体再次被释放。


5. boost::shared_lock

    提供了非独占锁, 只需要读访问的线程不需要知道同一时间其他线程是否访问。 因此非独占锁可以共享一个互斥体。


0 0
原创粉丝点击