
C++语言
凌云天空
这个作者很懒,什么都没留下…
展开
-
thread_local关键字
thread_local是C++11为了线程安全引入的变量声明符,跟gcc内置的线程局部存储设备__thread功能类似。thread_local声明的对象的存储在每个线程开始时分配,在线程结束是销毁。每一个thread_local变量在每个线程有一份独立实体,各个线程的变量互不干扰。__thread只能用于修饰POD类型,不能修饰class类型因为无法自动调用构造函数和析构函数,而thread_local可以修饰class类型,在线程结束时,会调用class的析构函数。...原创 2021-09-18 11:26:02 · 546 阅读 · 0 评论 -
std::mutex和std::condition_variable理解以及实现阻塞队列和生产者与消费者模型
C++11中的std::mutex和std::condition_variable以及std::thread跟glibc下面的pthread_mutex_t和pthread_cond_t以及pthread_create系列线程函数实现功能差不多。但是std::mutex和std::condition_variable以及std::thread可以跨平台使用,而pthread_mutex_t和pthread_cond_t以及pthread_create系列线程函数只能在Linux下使用。...原创 2021-07-07 16:56:27 · 1202 阅读 · 0 评论 -
函数指针与function以及bind用法
函数指针顾名思义是指向的函数的指针。和其他指针类型一样,函数指针指向某种特定类型(特定参数和返回值) C/C++中定义函数指针: 普通函数指针定义:typedef 返回值类型(*函数指针类型名)(参数列表) 类成员函数指针定义:typedef 返回值类型(类名::*函数指针类型名)(参数列表) typedef int(*FuncPtr)(int, int); // 定义函数指针 FuncPtr是定义的函数指针...原创 2021-07-03 16:49:00 · 923 阅读 · 0 评论 -
shared_from_this用法,以及shared_ptr陷阱
c++11中的智能指针源于boost,所以也将 类enable_shared_from_this 和 及其成员函数shared_from_this()也给收编了。通过模板方式继承enable_shared_from_this<T> 然后调用shared_from_this()函数返回对象T的shared_ptr指针,非常方便。使用时需要引用头文件 :#include <memory>用例:#include <stdio.h>...原创 2021-07-03 13:49:32 · 7504 阅读 · 0 评论