![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++标准库
文章平均质量分 66
雪風会保护大家的
这个作者很懒,什么都没留下…
展开
-
C++标准线程库之当前线程管理
有时需要对当前运行的子线程进行一些额外的处理,如:使线程休眠一段时间,再次调度等。C++11标准库提供了管理当前线程的函数,这些函数都定义于命名空间this_thread1. 获取当前线程的标识符#include <thread>inline thread::id std::this_thread::get_id();// 返回当前线程id#include <i...原创 2018-10-22 15:51:51 · 537 阅读 · 0 评论 -
C++标准线程库之入门
自c++11版本后,标准库也提供了对线程的支持。虽然大多场合还是使用其他的三方线程库,如:boost::thread, QThread等,但是学习下还是有必要的。1. std::thread简介***std::thread***类即创建子线程的类,定义于头文件***thread***中。***std::thread***类仅不到十个公开成员函数,同时无法进行拷贝,只能使用移动构造和赋值转...原创 2018-10-21 20:25:58 · 4385 阅读 · 0 评论 -
C++标准线程库之哲学家就餐问题
哲学家就餐问题是多线程中著名的一个问题,经过前面三章的学习,可以使用多线程来模拟下这个问题了。问题是这样的,有5个哲学家围着一个小圆餐桌坐了下来,但是桌上只有5根筷子(注意是根),每个哲学家只有全抢到左右手边的筷子才能吃东西。抢到2根筷子的哲学家过1秒后把筷子放回原位置,继续游戏。当只抢到1根,另一手的筷子被其他哲学家抢走时,就放下手中的筷子。为了简化问题,所有哲学家都是先抢左手,在抢右手的...原创 2018-10-25 23:14:28 · 3488 阅读 · 0 评论 -
C++标准线程库之共享资源
多线程下难免会需要资源共享,这样难免会发生异常情况。#include <iostream>#include <thread>class X{ int* _p;public: X(int* p = nullptr) : _p(p) {} ~X() { if(_p) delete _p; } void read() {...原创 2018-10-23 21:55:39 · 1238 阅读 · 0 评论