上一页 1 2 3 4 5 6 7 8 ··· 24 下一页
摘要: ###Semaphore 信号量 信号量的取得和释放由不同线程进行 可以是0/1,也可以是整型 实现有序访问资源,有排队队列 ###Mutex 互斥量 加锁和解锁必须是同一线程 0/1 不限制多线程的访问次序,谁取得锁,谁有权访问 阅读全文
posted @ 2023-02-08 19:16 ecnu_lxz 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ###孤儿进程 一般情况,每一个进程都有父进程,由父进程创建 但当父进程执行完后,先于子进程终止,则子进程就是孤儿进程 父母都死了,生下的儿女就是孤儿 Linux会将init进程(进程号为1)设置为该孤儿进程的父进程 init相当于党和政府,做善后工作 这样看来孤儿进程没有危害 ###僵尸进程 进程 阅读全文
posted @ 2023-02-08 15:35 ecnu_lxz 阅读(14) 评论(0) 推荐(0) 编辑
摘要: gcc 编译文件加上 -g 选项 生成可执行程序a,带有调试信息 对生成的文件执行 gdb a 就会进入调试程序 命令: 按l查看代码,代码会带有行号 list 按b 10 将在第十行设置断点 breakpoint i b 查看所有的断点 r 开始执行 run c 继续执行 continue n n 阅读全文
posted @ 2023-02-08 14:05 ecnu_lxz 阅读(23) 评论(0) 推荐(0) 编辑
摘要: mem_fn 想到member function 成员函数 这还真就是用来调用成员函数的 普通的函数我们通过函数指针可以调用,但对于成员函数的调用稍微复杂一点,需要对象,也即this指针 因为成员函数和对象并不存储在一起,一个对象的内存空间不包括函数代码,否则每个对象都包含自己的函数代码,内存就比较 阅读全文
posted @ 2023-02-06 21:46 ecnu_lxz 阅读(58) 评论(0) 推荐(0) 编辑
摘要: A future is an object that can retrieve a value from some provider object or function, properly synchronizing this access if in different threads. pro 阅读全文
posted @ 2023-02-04 17:58 ecnu_lxz 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 创建项目再进行测试比较麻烦,可以使用这个在线编译器进行验证,快速方便 C++11在线编译器 mutex是互斥锁,互斥量 condition_variable是条件变量,条件变量也是被多线程访问,所以也需要使用互斥量,上锁后访问 std::mutex m; void fun(){ std::uniqu 阅读全文
posted @ 2023-02-04 15:18 ecnu_lxz 阅读(55) 评论(0) 推荐(0) 编辑
摘要: const表示一个变量的值不能改变,这个值可以使运行期间得到的const int sz = get_size(); constexpr是提示编译器,该值可以在编译期间就计算出来,并进行替换,不用等到运行时计算,能够提升程序性能 constexpr的初衷就是,有些信息可以在编译期间进行利用,将能计算出 阅读全文
posted @ 2023-02-04 00:34 ecnu_lxz 阅读(26) 评论(0) 推荐(0) 编辑
摘要: NRV,named return value 某个函数返回一个对象时,在外部接收 A a = Fun(); 会调用复制构造函数 会损失性能 为何不能将函数Fun定义成传入引用a,然后直接在a上进行操作的函数? 编译器的NRV优化就是这个思想 将这种函数转化为传入引用参数,返回类型为void的函数 A 阅读全文
posted @ 2023-02-03 17:52 ecnu_lxz 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 参考https://www.runoob.com/w3cnote/python-func-decorators.html 简洁记录一些对我有用的笔记 python的装饰器是通过闭包的方式实现 先理解了第一段代码,函数式实现的闭包,再看文字 特点: 函数内部嵌套函数 函数内部可以引用外部的变量 闭包是 阅读全文
posted @ 2023-01-29 15:51 ecnu_lxz 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 以线程池举例 线程池需要接收要执行的任务,这些任务需要形成一个队列 任务可以是函数,lambda,重载括号运算符的类 那么在定义一个数组去保存这些任务该如何定义? class my_thread { using task_type = void(*)();//相当于typedef别名 my_queu 阅读全文
posted @ 2023-01-26 22:27 ecnu_lxz 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 24 下一页