,他更多的是个技巧,而不是架构上的需要。我们观察下函数结构,可以发现,函数的参数返回值只有一个,这个返 ...
select poll被监视的文件描述符数目非常大时要O n 效率很低 epoll与旧的 select 和 poll 系统调用完成操作所需 O n 不同, epoll能在O 时间内完成操作,所以性能相当高。 epoll不用每次把注册的fd在用户态和内核态反复拷贝。 epoll不同与之前的轮询方式,用了类似事件触发的方式,能够精确得获得实际需要操作的fd. 今天看到一个说法是 epoll wait ...
2016-12-20 15:17 0 1896 推荐指数:
,他更多的是个技巧,而不是架构上的需要。我们观察下函数结构,可以发现,函数的参数返回值只有一个,这个返 ...
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/138 在使用多线程时,遇到了一个问题:线程例程中如果需要使用errno全局变量,如何保证errno的线程安全性?例如一个简单的线程池代码: 关于C中 ...
最近在探索借助epoll做为reactor, 设计高效的服务端的方法. 常见的基于epoll的编程方式主要为单线程的事件循环, 用于一些非阻塞的业务逻辑开发是比较高效并且简单易懂的. 但实际开发业务的时候, 往往面临着查数据库, 访问磁盘, 通过网络访问其他主机的需求, 耗时往往较长 ...
线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。 第1类:不保护共享变量的函数 将这类线程不安全 ...
http://lists.gnu.org/archive/html/bug-commoncpp/2004-05/msg00006.html 本意是找一个线程安全并可重入的 求线程运行时间的函数。 time(), gettimeofday() and possibly localtime ...
什么是线程安全? 一个函数被多个并发线程反复调用时,它会一直产生正确的结果,则该函数是线程安全函数。 那么什么又是可重入函数? 当一个函数在被一个线程调用时,可以允许被其他线程再调用。即两个函数“同时”发生。则该函数是可重入函数 ...
慢系统调用(slow system call):此术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就没有返回的保证。 EINTR错误的产生:当阻塞于某个慢系统调用的一个进程 ...
前言 javascript中,函数不介意传递进来多少参数,也不在乎传进来的参数什么数据类型,甚至不传参数。 javascript中的函数定义未指定函数形参的类型,函数调用也不会对传入的实参值做任何类型检查。 同名形参 非严格模式下,函数中可以出现同名形参,只能访问最后出现的该名 ...