- 博客(3)
- 收藏
- 关注
转载 Linux多线程编程之条件变量和互斥锁:pthread_mutex_t,pthread_cond_t
近期学习了线程等待和激活的相关知识。 先介绍几个api: pthread_cond_t表示多线程的条件变量,用于控制线程等待和就绪的条件。 一:条件变量的初始化: 条件变量和互斥锁一样,都有静态动态两种创建方式, 静态方式使用PTHREAD_COND_INITIALIZER常量初始化。 pthread_cond_t cond = PTHREAD_COND_INITIALIZER; 动态方式初始化:...
2019-12-28 15:26:31 449
原创 C++如何限制只能在堆或栈上创建对象?
1.设计只能在堆(heap)上创建对象/禁止产生栈(stack)对象 将构造函数也设为private或protected, 但需要让该类提供一个static成员函数专门用于产生该类型的堆对象. (设计模式中的singleton模式就可以用这种方式实现. )让我们来看看: #include <iostream> using namespace std; class NoS...
2019-12-26 17:12:09 1477
原创 C++系列之Stactic静态变量用法
#C++系列之Stactic静态变量用法 C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。 4)栈——增长方向:自顶向下增长;自动变量以及每次函数调用时...
2019-12-26 14:21:15 620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人