这是两块内容 CompletableFuture.allOf() allOf()会非阻塞等待所有的CompletableFuture都完成,无论这些task中是否有抛出异常,也就是说即便其中有某些抛出了异常,allOf()的CompletableFuture调用join()阻塞等待时也不会立即抛出异常,而是等所有需等待的都完成,才会抛出异常,这也是allOf的含义之一 Executor.shutdown() 当ThreadPool调用shutdown()时,调用后只是不再接收新的Task,已提交的task会继续执行无任何影响,并且对该方法的调用并不会阻塞等待创建的thread结束。但如果main thread结束,那应该都结束。 另外就是当使用ThreadPool来run CompletableFuture时,若每次都new ThreadPool,则InheritableThreadLocal会正常,若使用默认或预定义的ThreadPool,则InheritableThreadLocal会失效(因为其只会在Create Thread时传递,而ThreadPool中的Thread是share的,而非每次都Create New)
上半年的软件设计师已经结束,理论上应该能过,下半年的目标是系统架构设计师。整体难度不小 报名在八月中 考试日期 资格名称 11月9日至12日 系统架构设计师 上午: 信息系统综合知识 系统架构设计案例分析 下午 系统架构设计论文
这张图理论上是有保存过的,但找不到了
IEEE 802.3 以太网、局域网 IEEE 802.5 令牌环网 IEEE 802.11 无线局域网 应用层:数据包、报文 传输层:报文段 网络层:分组 数据链路层:帧 网络层:比特
设计模式这块,需要记一下
三月份看完了相关的同步辅导。四月开始看下笔记并开始刷题 因为近年开始考Python相关的内容,所以学习下Python https://docs.python.org/zh-cn/3/tutorial/index.html
when using parallelStream + flatMap(),flatMap will reset stream to sequential use map() + reduce() to concat the stream xxx.parallelStream().map(…).reduce(Stream::concat).orElse(Stream.empty()) https://stackoverflow.com/questions/45038120/parallel-flatmap-always-sequential/66386078#66386078
整体下来,不会的东西不能说特别多,但也不少 难度不能算太高,但覆盖面的确很广 组成原理、操作系统、网络、数据库、数据结构与算法、设计模式 编译原理 软件工程、结构化开发、面向对象开发 标准化和知识产权 其中编译原理与软件工程方面明显薄弱,接下来多花些时间
https://stackoverflow.com/questions/7296623/inheritablethreadlocal-and-thread-pools 当ThreadLocal,尤其是InheritableThreadLocal和ThreadPool一起使用时,可能出现问题, 因为ThreadPool会复用线程,而子线程保存的一直是首次被call时,父线程的TL快照,当被复用时,ITL中的值是不会变的。所以即便在父线程中更新了TL(父线程大多是新的线程),被复用的子线程中的ITL也不会变。这会带来很多潜在的问题。一个推荐的解决方式是使用TL然后自行封装向子线程的传递。这个在link上有 https://github.com/lWoHvYe/unicorn/commit/a839e5cbac88d0bffb7fffc7a1b61a0b9be82386 在ITL的注释中,已经很明确了,是create时 when a child thread is created, the child receives initial values for all inheritable thread-local variables for which the parent has values.
2023总结 数学 英语 CS 2024规划 软件设计师 CS 数学 英语