1 并发:同时有多个任务执行,叫并发;
2 并发分类:任务切换/硬件并发;
并发需要时间成本(上下文切换):保存CUP状态、指令指针,算出切换到哪个任务、重新加载处理器状态。
3 为什么选择并发:
关注点分离:将不同的任务在不同线程执行,
比如:播放器播放任务和界面的暂停退出任务;否则播放过程需要一直监听界面事件。
性能:利用并发提升效率。
必须注意硬件对并发的支持,以及并发本身的消耗。
4 简单示例
1 #include<thread> //多线程库 2 void hello() 3 { 4 std::cout<<"hello\n"; 5 } 6 int main() 7 { 8 std::thread t(hello); //定义线程对象,传入初始函数。初始函数:子线程运行的起始,类似于主线程的main函数 9 t.join(); //等待子线程运行结束 10 }
行万里路,不忘初心!