- 博客(8)
- 收藏
- 关注
原创 C++并发编程学习——4.同步并发操作
等待事件或其他条件 (1)条件变量 当一个线程正等待另一个线程完成某一项任务,可以使用条件变量。当某个线程已经确定条件得到满足,他就会唤醒正在条件变量上等待的线程继续执行。 标准C++库提供了二个条件变量的实现:std::condition_variable 和 std::condition_variable_any。这二个实现都在头文件中说明。两者都需要与一个互斥量一起才能工作(
2017-11-27 10:54:31 580
原创 Linux私房菜学习-第7章Linux文件与目录管理
目录与路径 (1)相对路径与绝对路径 绝对路径:路径写法由根目录(/)写起。 相对路径:路径写法不是从根目录写起。 (2)目录的相关操作 1)特殊的目录 根目录也是有..目录的,但是根目 录的..目录也就是根目录本身。 2)cd (Change Directory):切换目录。 3)pwd (Print Workin
2017-11-25 18:58:12 202
原创 C++并发编程学习——3.在线程间共享数据
线程之间共享数据的问题 (1)竞争条件 竞争条件指多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间的情形。 竞争条件发生在当多个进程或者线程在读写数据时,其最终的的结果依赖于多个进程的指令执行顺序。 用互斥元保护共享数据 (1)C++中的互斥元 C++中,通过构造std::mutex的实例创建互斥元,调用成员函数lock()锁定互斥元,调用成员函数u
2017-11-19 20:19:53 4918
原创 Linux私房菜学习-第6章Linux文件权限与目录
用户与用户组 在Linux系统中,默认情况下所有的系统上的账号与一般身份用户,还有那个root的相关信息,都是记录下在/etc/passwd这个文件内。至于个人的密码则是记录在/etc/shadow这个文件下。此外,Linux所有的组名都记录在/etc/group内。 Linux文件权限的概念 (1)Linux文件属性 以root身份执行ls -al,会看到文件的属性。
2017-11-18 20:33:22 199
原创 Linux私房菜学习-第5章首次登陆与在线求助man page
在命令模式下执行命令 基础命令的操作 显示日期与时间命令:date; 显示日历的命令:cal; 简单好用的计算器:bc; 重要的热键 (1)【Tab】:具有命令补全与文件补全功能。连续按两次Tab显示可补全的命令与文件名。 (2)【Ctrl】+c:按住ctrl再按c,中断目前程序。 (3)【Ctrl】+d:这个组合键通常代表着键盘输入的EOF(End of
2017-11-18 18:56:58 227
原创 Linux私房菜学习-第3章主机规划与磁盘分区
Linux与硬件的搭配 (1)各硬件设备在Linux中的文件名 在Linux中,每个设备都被当做一个文件来对待 磁盘分区 (1)磁盘的组成 磁盘的组成:盘片、机械手臂、磁头、主轴马达。 盘面又可以细分出扇区和柱面二种单位,其中每个扇区为512btye。 整块磁盘的第一个扇区特别重要,因为一个扇区记录了两个重要的信息: 1)主引导分区(Maste
2017-11-17 11:12:16 223
原创 C++并发编程学习——2.管理线程
基本线程管理 (1)每个C++程序至少有一个线程,它在运行程序时启动,运行着main函数。 当线程运行完它的初始函数时,该线程就会退出。 (2)启动线程 线程是通过构造 std:thread 对象来开始的。 void do_some_work(); //函数 std::thread my_thread(do_some_work); //thread对象
2017-11-15 19:24:22 280
原创 C++并发编程学习——1.C++并发入门
并发 (1)为了性能并发 任务并行(task parallelism):将一个单任务分成多个部分并发执行,从而降低整个中运行时间。 数据并行(data parllelism):每个线程在不同的数据上执行相同的操作。 (2)不使用并发 启动线程会存在一些固有的开销,例如内核资源和堆栈空间等。如果线程上运行的任务完成的很快,那么实际运行的时间和启动线程开销的时间相比就
2017-11-15 10:24:55 424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人