go语言协程需要占用fd吗

Python032

go语言协程需要占用fd吗,第1张

go语言协程需要占用fd吗,占用一小部分,如果是用于监听端口的fd就绪了,就建立连接创建一个新的fd,交给一个协程来负责,协程执行入口就指向业务处理函数入口,socket的所有操作都由操作系统来提供,也就是要通过系统调用来完成,每创建一个socket,就会在打开文件描述符表中,对应增加一条记录,而返回给应用程序的只有一个socket描述符,用于识别不同的socket。

福哥答案2020-08-20:

1.golang的协程是基于gpm机制,是可以多核多线程的。Python的协程是eventloop模型(IO多路复用技术)实现,协程是严格的 1:N 关系,也就是一个线程对应了多个协程。虽然可以实现异步I/O,但是不能有效利用多核(GIL)。

2.golang用go func。python用import asyncio,async/await表达式。

评论