- 博客(9)
- 收藏
- 关注
原创 C++多线程编程2(线程管理)
线程的启动方式。构造函数的传参包括:函数指针、函数对象、重载()运算符的类还有lambda表达式等,只要是可调用的对象都可以作为线程的参数。然后传引用需要std::ref修饰,否则为传值。线程join和detach。线程的所有权转接。线程的所有权转接也就是移动构造和移动赋值,可以将thread对象作为函数的参数进行传递或函数的返回值,然后举例scoped_thread 说明了其作用。标识线程。可以通过调用对象的成员函数get_id()和获取线程标识符,线程标识符可以区分不同的线程。
2023-08-04 21:01:44 159 1
原创 Redis源码阅读(一)简单动态字符串sds
sds字符串还有其他许多函数,没有全部列举但是大部分都是在低阶api上形成更复杂的功能。sds字符串采用结构体存储字符串的属性值len,实现在O(1)复杂度内返回字符串的长度。sds字符串使用len值作为字符串的结束标识,而不是’\0’因此它时二进制安全的sds字符串在执行字符串的删除和追加时,会预先分配足够的空闲空间避免溢出sds预分配更多的内存避免未来空间不足频繁申请内存。
2023-06-28 22:07:21 63 1
原创 链接多个静态库出现大量undefined reference to...
一开始测试makefile链接的库是如下格式的,然后出现muduo库大量未定义的函数,刚开始是以为muduo库没安装在系统默认路径下然后找不到,然后重新将muduo库拷贝到/usr/local/lib/目录下,编译测试程序还是出现大量未定义的函数。去网上搜有的人说是muduo_base,muduo_net之间有依赖关系,需要调整链接的次序,我调整之后依然没用,中间尝试了很多办法,还以为是自己编译的mrpc库有问题。然后又将 pthread也链接两次,神奇的是居然编译通了,真的玄学。
2023-04-06 18:05:58 371 1
原创 贪婪迭代法解决流水车间调度问题
最近导师问我有没有matlab关于一些简单的规模调度问题的代码,我没用过matlab所以就准备在网上找一个,看了以下大部分都是不全的,要么就是要收费的。就在网上参考了一篇2018年GECCO的论文Iterated greedy algorithms for the hybrid flowshop scheduling with total flow time minimization。这篇论文研究的是混合流水车间调度问题,采用一种新的贪婪迭代方法求解。因为混合车间调度问题考虑起来有点复杂,为了快点做完交给老
2022-05-20 19:54:19 2075 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人