1-理解IO复用-阻塞与非阻塞-深入理解Linux中网络I/O复用并发模型

AID:
CID:
视频图片:
作者头像:
弹幕地址:
视频描述:

热门回复:

  • 想吃小鱼干er:收藏从未停止,学习从未开始[妙啊]
  • darklowly:快递这个例子有误导性。 如果是阻塞等待方式,是不可能有多个快递员同时到来。阻塞等待的方式,只能通过多线程的方式才能可能有多个快递同时到来,然后不同的线程处理不同的快递。
  • 潮汐星河:我在《linux高性能服务器框架》那本书中间部分迷失了,完全啃不动。看到大佬的讲解豁然开朗,大佬逻辑清晰,深入浅出,实在是精品!
  • 不想吃芹菜の:问下有几个计算fd的函数,怎么在syscall里面没有 ``` var ( maxFd int //select 函数的最大值的fd listenFd int //listen的fd err error ) //创建socket listenFd, err = syscall.Socket(syscall.AF_INET, syscall.O_NONBLOCK|syscall.SOCK_STREAM, 0) if err!=nil{ log.Fatalln(err) } defer syscall.Close(listenFd) //绑定IP和PORT addr := syscall.SockaddrInet4{Port: 8888} copy(addr.Addr【:】, net.ParseIP("0.0.0.0").To4()) err = syscall.Bind(listenFd, &addr) if err!=nil{ log.Fatalln(err) } //函数定义 man 2 listen查看linux定义 err = syscall.Listen(listenFd, 10) if err!=nil{ log.Fatalln(err) } //读事件的集合 rfdSet := &syscall.FdSet{} //FD_ZERO //初始化 //FD_CLT //FD_SET //FD_INSET for true{ _, err := syscall.Select(maxFd+1,rfdSet,nil,nil,nil) if err!=nil{ break } } ```
  • 娘子怎样:这么多好视频都被哪些培训狗的视频给湮灭了