最后
这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档
祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!
感谢大家的支持!!
消息队列里取出来。同理,b 进程要个 a 进程发送消息也是一样。这种通信方式也类似于缓存吧。
2)缺点:如果 a 进程发送的数据占的内存比较大,并且两个进程之间的通信特别频繁的话,消息队列模型就不大适合了。因为 a 发送的数据很大的话,意味发送消息(拷贝)这个过程需要花很多时间来读内存。
共享内存
1)共享内存这个通信方式就可以很好着解决拷贝所消耗的时间了。
2)缺点:多进程竞争内存的问题,就像类似于我们平时说的线程安全问题。
信号量
1)信号量的本质就是一个计数器,用来实现进程之间的互斥与同步。
2)例如信号量的初始值是 1,然后 a 进程来访问内存1的时候,我们就把信号量的值设为 0,然后进程b 也要来访问内存1的时候,看到信号量的值为 0 就知道已经有进程在访问内存1了,这个时候进程 b 就会访问不了内存1。
Socket
1)共享内存、管道、信号量、消息队列,他们都是多个进程在一台主机之间的通信。
2)Socket可以使不同主机上的进程进行通信。
3)我们平时通过浏览器发起一个 http 请求,然后服务器给你返回对应的数据,这种就是采用 Socket 的通信方式了。
3.进程的状态
4.PCB
PCB 是进程存在的唯一标识
PCB中包括
5.进程调度算法
批处理系统
交互式系统
1.如何预防死锁
2.线程安全的活跃性问题
两个或多个线程同时对一共享数据进行修改,从而影响程序运行的正确性时,这种就被称为竞态条件(race condition)
3.死锁检测
1.出现背景-CPU指令集
1)C P U 指令集可以直接操作硬件的,要是因为指令操作的不规范`,造成的错误会影响整个计算机系统的。
2)因为对于硬件的操作出现问题的可能性大,所以操作系统内核直接屏蔽开发人员对硬件操作的可能,都不让你碰到这些 C P U 指令集。
3)硬件设备商对 C P U 指令集设置了权限,不同级别权限能使用的 C P U 指令集是有限的。
4)其中 ring 0 权限最高,可以使用所有 C P U 指令集,ring 3 权限最低,仅能使用常规 C P U 指令集,不能使用操作硬件资源的 C P U 指令集,比如 I O 读写、网卡访问、申请内存都不行,Linux系统仅采用ring 0 和 ring 3 这2个权限。
一线互联网大厂Java核心面试题库
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**