C++
文科升
无人驾驶行业程序员。
展开
-
线程并发中std::mutex和boost::mutex::scoped_lock的使用
1.为什么需要互斥锁软件系统中往往存在多个线程共同来工作,如果多个线程同时对系统中的临界资源(或者代码段)进行访问的话,很容易发生混乱。比如打印机是临界资源,如果多个线程同时都要调用打印机来进行打印的话会出现什么情况?例如有两个线程都要打印,第一个线程调用打印机后在它所处的时间片内还没有打印完成的时候,打印机被第二个线程占有了,这样第一个线程的打印任务就被迫终止了。其实在笔者上学的时候,我们老师讲这里的时候举了一个很简单的例子:你家的卫生间只有一个,家里有多个人,在一个人上卫生间的时候,如果其他人也原创 2020-11-03 17:17:23 · 6849 阅读 · 2 评论 -
C++知识点总结
1.变量的定义和声明定义和声明的由来:c++中程序根据业务和具体实现,往往被分割为多个文件,如果要在多个文件之间共享一个变量。该怎么来设计呢?c++的设计是变量只能在一个地方定义,在其他需要的文件中进行声明。变量只能被定义一次,并且定义的时候就会分配内存空间,也可以在定义的时候进行初始化;变量在一个文件中定义之后,如果要在其他文件中使用,必须使用extern来进行声明,告诉当前文件该变量在其他地方已经定义过了,这里可以放心使用。定义和声明的区别:变量在定义的时候分配了内存空间,也可以对其进行初始化,原创 2020-10-30 23:35:10 · 502 阅读 · 0 评论