背景 本文基于JDK 11,主要介绍FutureTask类中的run()、get()和cancel() 方法,没有过多解析相应interface中的注释,但阅读源码时建议先阅读注释,明白方法的主要的功能,再去看源码会更快。 文中若有不正确的地方欢迎大伙留言指出,谢谢了! 1、FutureTask类图 ...
分类:
其他好文 时间:
2020-07-25 09:16:45
阅读次数:
56
学习C++的shared_ptr智能指针你可能会碰到一个问题,循环引用为什么会出现问题?为什么不能释放?C++不是保证了对象构造成功退出作用域时就绝对会调用析构函数吗,调用析构函数不也会调用成员变量和父类的析构函数吗,为什么还不能释放呢?难道是编译器有bug? 非也,原因是一句绕口令式的答案:你以为 ...
分类:
其他好文 时间:
2020-07-19 23:46:32
阅读次数:
114
强符号和弱符号 如果多个目标文件包含同名的全局符号定义,那么如果这些目标文件链接时,就会出现符号重定义错误。 这类符号成为强符号(Strong Symbol)。有些符号可以被定义为弱符号(Weak Symbol)。 对于C/C++来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为 ...
分类:
其他好文 时间:
2020-06-22 23:21:41
阅读次数:
89
最近在适配newlib代码时遇到一个关于弱声明的问题, 研究了一下才发现自己对weak属性与链接时符号选择理解有误. 问题背景 在一个库(liba.a)中重新定义了一个weak属性的函数(func_a), 在同一库中调用该函数时链接了弱声明的函数版本, 但是当通过另一个库(libb.a)的库函数(f ...
分类:
其他好文 时间:
2020-06-13 23:37:26
阅读次数:
113
题目 Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avoid " ...
分类:
系统相关 时间:
2020-06-11 16:17:02
阅读次数:
66
class Solution(object): def kWeakestRows(self, mat, k): """ :type mat: List[List[int]] :type k: int :rtype: List[int] """ power = [sum(line) for line ...
分类:
其他好文 时间:
2020-06-08 14:49:39
阅读次数:
59
升级Xcode之后,编译之前的代码,出现Cannot create __weak reference in file using manual reference counting解决方法: 在Build Settings--------->Aplle LLVM9.0 - Language - Ob... ...
分类:
其他好文 时间:
2020-05-30 19:42:40
阅读次数:
56
20、weak_ptr弱引用的智能指针 0、课前秀 + 弱引用指针weak_ptr是用来监视shared_ptr的,不会使引用计数加1,它不管理shared_ptr内部的指针,主要是为了监视shared_ptr的生命周期。 + weak_ptr没有重载操作符 和` `,因为它不共享指针,不能操作资源 ...
分类:
编程语言 时间:
2020-05-25 19:15:37
阅读次数:
66
Chromium智能指针使用指南 爱喝咖啡的ronhu关注 0.1252017.11.05 23:26:44字数 2,052阅读 1,773 什么是智能指针? 智能指针是一种特殊类型的“局部对象”,表现如同裸指针,但是具备离开作用域(out of scope)时主动释放所指向对象的能力。因为C++没 ...
分类:
其他好文 时间:
2020-05-18 18:46:11
阅读次数:
73
1、shared_ptr 1、shared_ptr多个指针指向相同的对象。shared_ptr使用引用计数,每个shared_ptr的拷贝 都指向相同的能存。每次使用它一次,该对象内部的引用计数加1,指向该对象的shared_ptr指针 每减少一个,该对象内部的引用计数就减1,当引用计数为0时,就自 ...
分类:
其他好文 时间:
2020-05-12 09:42:26
阅读次数:
78