- 博客(4)
- 收藏
- 关注
原创 关于进程、线程与协程之间的关系
对于协程(用户级线程),这是对内核透明的,也就是系统并不知道有协程的存在,是完全由用户的程序自己调度的,因为是由用户程序自己控制,那么就很难像抢占式调度那样做到强制的 CPU 控制权切换到其他进程/线程,通常只能进行协作式调度,需要协程自己主动把控制权转让出去之后,其他协程才能被执行到。,而CPU单核的情况下同一时间只能执行一个进程的代码,但是多进程的实现则是通过CPU飞快的切换不同进程,因此使得看上去就像是多个进程在同时进行。因此进程的创建和销毁都是相对于系统资源,所以是一种比较昂贵的操作。
2023-10-14 20:42:31
149
原创 关于skynet如何共享数据
如果你仅仅需要一组只读的结构信息分享给很多服务(比如一些配置数据),你可以把数据写到一个 lua 文件中,让不同的服务加载它。如果 A 服务需要 B 服务中的数据,可以由 B 服务发送一个消息,将数据打包携带过去。整个工程需要的数据仓库可能规模庞大,每个服务却只需要使用其中一小部分数据,如果每个服务都把所有数据加载进内存,服务数量很多时,就因为重复加载了大量不会触碰的数据而浪费了大量内存。它能做的是:把一个复杂的有一定限制的 lua 表,转换为一块 C 内存,由多个 lua 服务共享读取。
2023-10-12 14:19:50
290
原创 Http与tcp的区别
而HTTP是一种用于在Web浏览器和Web服务器之间传输数据的协议,它规定了客户端(例如浏览器)和服务器之间的请求和响应的格式和行为。协议特点:TCP是一种面向连接的协议,它在通信前先建立连接,然后进行数据传输,最后释放连接。而HTTP是一种无连接的协议,每个HTTP请求都是独立的,不保留会话状态,每次请求和响应都是独立的。HTTP:超文本传输协议,是应用层的协议,以TCP为基础,无转态的连接。TCP:传输控制协议,是传输层的协议,以IP协议为基础,有状态的长连接。
2023-10-10 22:22:16
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人