多线程
1.概念
进程对比线程
并发对比并行
多进程多线程是并发还是并行取决于硬件资源
2.并发问题
并发问题:因为多线程引发的问题
线程安全:一个方法或者实例在多线程环境下稳定运行
并发问题如下:
1.结果不对
一个线程改了另外一个线程用的值
2.core
同时修改一个容器
3.死锁
3.使用
1 原子变量
atomic
线程安全的变量
2 锁
1 mutex
互斥锁
lock
当前线程lock 只有两种结果 1 true的话 阻塞别的线程(别的线程也用这个锁) 2 false 被别的线程阻塞了
unlock
2 unique_lock
构造函数lock
析构函数unlock
3 condition_variable
线程之间的交互通信
wait
wait_for
notify_one
notify_all
4 多线程
1.创建线程池
2.申请线程执行
3.主线程等待子线程执行完
可以在子线程里面创造线程,此时子线程对于新创建的线程就是相对主线程
ide debug可以选线程,gdb也可以
注意线程的生命周期,线程之间的关系
# Related Post
1.程序在计算机如何运行
2.根据字符选择函数
3.卫语句
4.通过类名(字符串)来实例化类
5.code check
6.gdb
7.cpp debug
8.gflags
1.程序在计算机如何运行
2.根据字符选择函数
3.卫语句
4.通过类名(字符串)来实例化类
5.code check
6.gdb
7.cpp debug
8.gflags