一、gethostbyname函数原型 二、hostent结构 三、关于全局整体变量h_errno 当gethostbyname发生错误时,它不设置errno变量,而是将全局变量h_errno设置为<netdb.h>中定义的下列常值之一: (1)HOST_NOT_FOUND; (2)TRY_AGAI ...
分类:
其他好文 时间:
2019-04-21 11:28:55
阅读次数:
197
一个进程在同一时刻只能做一件事情,线程可以把程序设计成在同一时刻能够做多件事情,每个线程处理各自独立的任务。线程包括了表示进程内执行环境必需的信息,包括进程中标识线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、errno变量以及线程似有数据。进程的所有信息对该进程的所有线程都是共享的 ...
分类:
编程语言 时间:
2018-02-24 16:44:14
阅读次数:
266
connect完成(三次握手)需要花一段时间,从几毫秒的局域网到几百毫秒或几秒的广域网,使用非阻塞connect可以利用这段时间干其他事情 目前connect非阻塞编程的普遍思路是: 在一个TCP套接口设置为非阻塞后,调用connect,connect会在系统提供的errno变量中返回一个EINRP ...
分类:
其他好文 时间:
2017-12-14 03:23:50
阅读次数:
185
线程(1) 本文将介绍怎样使用多个控制线程在单个进程环境中运行多个任务。 一个进程中的全部线程都能够訪问该进程的组成部件(如文件描写叙述符和内存)。 线程包含了表示进程内运行环境必须的信息,当中包含进程中标识线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、errno变量以及线程私有数 ...
分类:
编程语言 时间:
2017-06-15 19:38:32
阅读次数:
250
引言: 在C编程中,errno是个必不可少的变量。特别是在网络编程中。假设你没实用过errno,那仅仅能说明你的程序不够健壮。 为什么会使用errno呢?这是系统库设计中的一个无奈之举。他很多其它的是个技巧,而不是架构上的须要。我们观察下函数结构,能够发现,函数的參数返回值仅仅有一个,这个返回值一般 ...
分类:
编程语言 时间:
2017-04-22 12:31:43
阅读次数:
259
当调用系统调用时,若系统调用出错,则系统会修改errno变量的值,errno变量为一个int型的全局变量,在头文件/usr/include/errno.h中被引用性声明,估计定义是在库文件中。当出现不同类型的错误时,会给errno变量赋予不同的值,这些不同的值在errno.h中被定义了。 Linux ...
分类:
其他好文 时间:
2016-10-01 16:55:00
阅读次数:
148
各线程共享的资源:1、文件描述符表。2、每种信号的处理方式(SIG_IGN、SIG_DFL或者自定义的信号处理函数)3、当前工作目录。4、用户id和组id。各线程独立的资源:1、线程id。2、上下文,包括各种寄存器的值、程序计算器和栈指针。3、栈空间。4、errno变量。5、信号量屏蔽字。6..
分类:
编程语言 时间:
2016-07-17 02:41:31
阅读次数:
224
一、线程同一进程的多个线程共享同一地址空间,线程强调的是共享,但是有些资源是每个线程各有一份。共享:文件描述符表;每种信号的处理方式;当前工作目录;用户id和组id。私有:线程id;上下文(寄存器值,计数器,栈指针);栈空间;errno变量;信号屏蔽字;调度优先级。二、线..
分类:
编程语言 时间:
2016-04-28 18:21:28
阅读次数:
200
线程:在一个进程的地址空间中执行多个线程----强调共享线程是进程中的一个实体。线程私有:线程id上下文信息(包括各种寄存器的值、程序计数器和栈指针)(私有)栈空间errno变量信号屏蔽字调度优先级此时:POSIX标准编译时加上-lpthread线程与进程的区别:1、进程是具有一定独立..
分类:
编程语言 时间:
2016-04-17 23:22:31
阅读次数:
306
线程的概念C++中的线程的Text Segment和Data Segment都是共享的,如果定义一个函数,在各线程中都可以调用,如果定义一个全局变量,在各线程中都可以访问到。除此之外,各线程还共享以下进程资源和环境:
文件描述符
每种信号的处理方式
当前工作目录
用户id和组id
但是,有些资源是每个线程各有一份的:
线程id
上下文,包括各种寄存器的值、程序计数器和栈指针
栈空间
errno变量...
分类:
编程语言 时间:
2015-06-19 18:56:42
阅读次数:
416