6.824笔记2

线程为每一个prc请求使用一个线程,当请求回收的时候,线程继续运作,多线程能能够开启多个网络请求,形成io并发

并行化,线程用来实现并行化

异步编程,事件驱动编程,又一个线程,一个循环,循环等待输入或者其他出发时事件,通过一个表记录每个触发的客户端的状态和任务,这种情况相对来说比较简单

进程:一个单独运行的程序,可以有很多线程,有一个给定的内存区,线程之间可以很方便的进行通信,但是进程之间的通信需要单独设置

多线程常见的问题,共享数据,他们共享数据空间,共享数据和内存,但是会出现同时读写的线程冲突,解决方式就是给数据加锁,将一个连续的线程转化成原子操作。但同时可能会产生环和死锁

协作,使用通道进行线程间的协作

web爬虫,一个多线程的例子,爬虫需要记住爬过的数据和正在爬的数据,从而避免环

复杂程序中的race一般很难查

一种通信的例子是worker和master,这两者之间不会有共享内存,而是通过channel来进行,channel是两个接口和互斥锁的一段封闭线程

posted @   纸包鱼  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示