03 2019 档案

摘要:pcb就是task_struct 由slab算法分配在内核内存 1kb 在 0-1GB的内核空间里,所有进程共享同一个内核空间0-1GB因为 进程运行在用户态不会修改内核空间。 内核空间 环境变量等信息 栈 堆 (多个线程栈会夹在堆中) 未初始化变量段,初始化变量段,代码段。 ipcs 是一个UIN 阅读全文
posted @ 2019-03-29 20:33 ff_d 阅读(240) 评论(0) 推荐(0)
摘要:就是每次都要到内存上读取数据,不能直接用寄存器的数据(第一次直接取自内存然后放在寄存器,第二次编译器就会优化成使用寄存器的值) 并不解决多线程的事 https://liam.page/2018/01/18/volatile-in-C-and-Cpp/ 被 volatile 修饰的变量,在对其进行读写 阅读全文
posted @ 2019-03-24 15:01 ff_d 阅读(169) 评论(0) 推荐(0)
摘要:https://zhuanlan.zhihu.com/p/40211594 悲观锁(用前都上锁) 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程 阅读全文
posted @ 2019-03-24 11:11 ff_d 阅读(168) 评论(0) 推荐(0)
摘要:作者:Jon Lee链接:https://www.zhihu.com/question/53082910/answer/133612920来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 inline 绝对是C++里最让人混淆的关键词之一了(比static还过分)。 U 阅读全文
posted @ 2019-03-23 21:23 ff_d 阅读(4581) 评论(1) 推荐(0)
摘要:无锁队列https://coolshell.cn/articles/8239.html 链表实现 cas 入队时注意 lock free(锁无关)问题 防止死锁 Tail 出队 如果是用了指针小心 aba问题(指针内存重用) 解决 1、使用double-CAS(双保险的CAS) 1)一次用CAS检查 阅读全文
posted @ 2019-03-23 19:45 ff_d 阅读(436) 评论(0) 推荐(0)
摘要:https://www.jianshu.com/p/486b0965c296 写得很好,但有问题 阅读全文
posted @ 2019-03-22 21:26 ff_d 阅读(87) 评论(0) 推荐(0)
摘要:递归 迭代 阅读全文
posted @ 2019-03-07 10:20 ff_d 阅读(152) 评论(0) 推荐(0)