logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

16.哨兵(sentinel)

3.挑选出新的主节点后,哨兵节点控制该节点,slaveof no one,然后让其他从节点slaveof这个新主节点;1)从节点主动与主节点断开连接 -> slaveof no one,从节点晋升为主节点,脱离原有结构;# +failover-state-select-slave ...# 选择从节点提升为主。2.主节点确实挂了,这些哨兵节点中会选举出一个leader,来执行选择从节点作为新主节点

#redis
1.Redis初识

Redis作为内存数据库广泛应用于缓存、向量数据库、消息代理等场景,特别适合分布式系统。随着业务增长,系统架构从单机演进到微服务:1)应用与数据库分离;2)引入负载均衡和应用集群;3)数据库读写分离;4)使用Redis缓存热点数据;5)数据库分库分表;6)采用微服务架构。微服务虽提升管理效率,但也带来性能下降和复杂度增加的问题。文章还解释了分布式、集群、中间件等关键概念,总结了架构演进的7个主要阶

文章图片
#redis
1.Qt概述(一)

Qt是一个跨平台的C++图形用户界面框架,主要用于桌面应用开发。它支持Windows、Linux、Mac和嵌入式系统,相比MFC等传统方案更具生命力。Qt提供QtCreator等开发工具,支持通过代码或图形化界面两种方式创建GUI程序。其核心特点包括:1)跨平台能力;2)对象树和信号槽机制;3)元编程技术自动生成代码;4)支持国际化。Qt特别适合开发需要图形界面的工业设备和桌面应用程序,但不适用于

文章图片
#qt
26.线程概念与控制(三)

这种stack不能动态增长,一旦用尽就没了,这是和生成进程的fork不同的地方。对于 Linux 进程或者说主线程,简单理解就是main函数的栈空间,线程栈⼀般是调用glibc/uclibc等的 pthread。,它其实是在进程的地址空间中map出来的⼀块内存区域。创建的线程,在文件映射区(或称之为共享区)。模拟C++封装原生线程库pthread。(发送段错误信号给该进程)。

文章图片
#linux
25.线程概念和控制(二)

编写多线程需要更全面更深入的考虑,在一个多线程程序里,因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的,换句话说线程之间是缺乏保护的。线程的概念是在库中维护的,在库内部,一定会事先存在一个或多个被创建好的线程,如何管理这些线程?等待的目标线程,如果异常了,整个进程都退出了,包括main线程,所以,join异常,没有意义,看也看不到!linux的线程实现,是在用户层实现

文章图片
#linux
25.线程概念和控制(二)

编写多线程需要更全面更深入的考虑,在一个多线程程序里,因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的,换句话说线程之间是缺乏保护的。线程的概念是在库中维护的,在库内部,一定会事先存在一个或多个被创建好的线程,如何管理这些线程?等待的目标线程,如果异常了,整个进程都退出了,包括main线程,所以,join异常,没有意义,看也看不到!linux的线程实现,是在用户层实现

文章图片
#linux
23.Linux进程信号(四)

当main函数执行头插函数时,执行完头插的第一句之后,因某种原因进入内核,恰好执行对应信号的中断处理方法,二次执行完头插,回到main执行流之后,头插函数执行完第二句。子进程回收可以采用对SIGCHLD信号自定义捕捉的方式来完成,自定义捕捉中采用WNOHANG非阻塞调用+死循环来等待子进程,确保完全回收和不影响父进程。例子:如图,main函数中没有直接调用handler函数的语句,并没有关联。举例

文章图片
#linux
9.进程控制(上)

main函数返回值要写到PCB里,PCB里有对应的exit_code退出码,exit_signal信号码,父进程通过系统调用waitpid获取子进程的状态码,getpid()和getppid()同理,PCB里有存。因为子进程结束后,进入僵尸状态,等待父进程回收,其中进程地址空间、代码和数据以及页表可以释放,但是子进程的PCB(task_struct)需要保留,2)父进程派给子进程的任务完成的情况(

文章图片
#linux
20.Linux进程信号(一)

返回值:成功返回handler,失败返回SIG_ERR(一个宏,通常定义为 (void (*)(int))-1,表示一个无效的函数指针),错误码被设置。raise给自己发送信号,abort给自己进程发送终止信号(发送6号新号,要求进程必须处理,默认终止)。alarm(5)->过3秒,设alarm(10)->过10秒终止了,返回值为2,即以前设定闹钟剩余的秒数。3.人能识别信号,是被“提前教育”过的

文章图片
#服务器#linux
到底了