多线程

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也可以

注意线程的生命周期,线程之间的关系

Author

Lavine Hu

Posted on

2024-04-17

Updated on

2024-05-03

Licensed under

Comments

:D 一言句子获取中...