【自勉-向后端架构师音视频架构师出发】我的目标是星辰大海(4月)

【自勉-向后端架构师音视频架构师出发】我的目标是星辰大海(4月),第1张

编写目标:

今天开贴记录一下,每天学习和巩固一个知识点,记录下来;俗话说,温故而知新可以为师矣。


成长经历:

2022-04-21

了解了一下分布式消息队列-kafka;学习了它的以下内容:1. kafka的应用场景(异步处理、系统解耦、流量削峰、日志处理); 2. kafka与线程队列的区别(高可用性、可靠性、可扩展性); 目前已掌握的两个实际运用场景:利用kafka实现用户登录时,短信验证的异步处理;利用kafka实现硬件数据采集服务器中的,数据异步消费;

2022-04-22

hash算法实现负载均衡:以前在单机部署中,线程之间实现负载均衡时,曾使用hash算法,将数据分配到不同的线程处理,以保证没有线程是过于空闲;在集群部署时,使用hash算法,将数据固定的分发给指定的服务器处理。

2022-04-23

关注了C++新特性中,std::thread线程分离是解决什么问题?关注点分离、异步处理,适合“即用即忘”的任务。

2022-04-24

这是阅读《C++并发编程实战》第2章的第三遍:如何管理线程?

a. std::thread可以与任何可调用类型一起工作。可将一个带有函数调用 *** 作符的类的实例传递给它的构造函数; b.
等待线程结束,可以使用join,这是一种低效率的事情;更好的方法使用条件变量或者future。 c.
什么是“资源获取即初始化方法”?用作异常时等待线程结束。 d.
如何转移线程的所有权?举例,从一个函数中,创建后台分离线程;并且返回一个对象;
e.生成一批线程并等待他们完成?第一步生成线程,第二步轮流在每个线程上调用join; f. 如何在运行时选择线程的数量?
g.标识线程的id通常可以用来做什么?在关系型容器中,可以用作主键或者被排序。可以用这个ID来确定哪些 *** 作是允许的。

2022-04-25 修改线程之间共享数据的最简单的潜在问题就是破坏了不变量。2022-04-26 今天看书联想以前编程经验,想明白了一招,对于读取栈数据容器时通常pop函数的使用:

常用的方法:1. 把希望接受出栈值的变量的引用,作为一个参数传递给pop调用。这是常规做法,要求所存储的类型必须是可以赋值的。但是很多我们自己定义的类型是不支持赋值的。 2. 加深了另一种做法,返回出栈项的指针,结合智能指针的调用能够不用担心内存的分配。而不必使用new和delete,减少开销。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/737344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存