摘要:
socket阻塞与非阻塞,同步与异步 作者:huangguisu 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之 阅读全文
posted @ 2018-08-23 23:34
小时候挺菜
阅读(752)
评论(0)
推荐(1)
摘要:
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道 阅读全文
posted @ 2018-08-23 23:09
小时候挺菜
阅读(2348)
评论(0)
推荐(0)
摘要:
网络相关的ioctl请求的request参数及arg地址必须指向的数据类型如下表所示: SIOCGIFCONF SIOCSIFADDR SIOCGIFADDR SIOCSIFBRDADDR SIOCGIFBRDADDR SIOCSIFNETMASK SIOCGIFNETMASK 获取所有接口列表 设 阅读全文
posted @ 2018-08-23 23:07
小时候挺菜
阅读(860)
评论(0)
推荐(0)
摘要:
在TCP连接中,recv等函数默认为阻塞模式(block),即直到有数据到来之前函数不会返回,而我们有时则需要一种超时机制使其在一定时间后返回而不管是否有数据到来,这里我们就会用到setsockopt()函数: int setsockopt(int s, int level, int optname 阅读全文
posted @ 2018-08-23 22:59
小时候挺菜
阅读(363)
评论(0)
推荐(0)
摘要:
select函数的作用: 在编程的过程中,经常会遇到许多阻塞的函数,好像read和网络编程时使用的recv, recvfrom函数都是阻塞的函数,当函数不能成功执行的时候,程序就会一直阻塞在这里,无法执行下面的代码。这是就需要用到非阻塞的编程方式,使用selcet函数就可以实现非阻塞编程。selce 阅读全文
posted @ 2018-08-23 21:37
小时候挺菜
阅读(3329)
评论(0)
推荐(1)
摘要:
介绍:什么是线程,线程的优点是什么 线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可以看作是Unix进程的表亲,同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器 阅读全文
posted @ 2018-08-23 20:33
小时候挺菜
阅读(114085)
评论(4)
推荐(10)
摘要:
引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多 为什么有了进程的概念后,还要再引入线程呢?使用 阅读全文
posted @ 2018-08-23 19:33
小时候挺菜
阅读(9833)
评论(0)
推荐(3)
浙公网安备 33010602011771号