摘要:
void event_warnx(const char *fmt, ...) EV_CHECK_FMT(1,2); #define EV_CHECK_FMT(a,b) __attribute__((format(printf, a, b))) void event_debugx_(const cha 阅读全文
摘要:
硬中断为什么不能休眠 中断线程以及软中断解决了什么问题 软中断cb函数是否允许相应本地中断,什么时候开启中断关闭中断 什么是软中断上下文 什么是tasklet 和软中断区别 1、中断线程以及软中断属于中断下半部机制;硬件中断会打断进程,异步执行,对于 重要的进程代码来说,希望硬件中断越短越好。所以硬 阅读全文
摘要:
信号量有一个很明显的缺点,没有区分临界区的读写属性,读写锁允许多个线程进程并发的访问临界区,但是写访问只限于一个线程,在多处理器系统中允许多个读者访问共享资源,但是写者有排他性,读写锁的特性如下:允许多个读者同时访问临界区,但是同一时间不能进入;同一时刻只允许一个写者进入临界区;读者和写者不能同时进 阅读全文
摘要:
信号量semaphore 信号量是一种允许进程进入睡眠的同步机制,信号量是一个计数器,支持两种原语即P 和V操作,也就是down 和up 操作, /* Please don't access any members of this structure directly */ struct semap 阅读全文
摘要:
对coredump的分析中,是依赖于core文件的,而core文件中也几乎包含了程序当前的所有状态(堆栈、内存、寄存器等)。然而在实际的线上环境中,由于core文件太大、保存core文件耗时太久,出于线上系统的稳定性与快速恢复考虑,我们往往不会保留core文件。同时,程序堆栈被破坏的情况下,即使我们 阅读全文
摘要:
内核并发来源: 1、硬件中断和异常:中断服务程序和被中断的进程可能发生并发访问资源 2、软中断和tasklet,软中断和taklet随时都可能倍调度执行,从而打断当前正在执行 进程的上下文。 3、内核抢占:调度器支持可抢占性,会导致进程和进程之间的并发访问。 4、多处理器并发执行,多处理器上可以同时 阅读全文
摘要:
1、HTTP方法 GET :获取资源 ,GET 方法用来请求访问已被 URI 识别的资源 POST:传输(上传和下载)实体主体 ,POST 方法用来传输实体的主体。虽然用 GET 方法也可以传输实体的主体,但一般不用 GET 方法进行传输,而是用 POST 方法。虽说 POST的功能与 GET 很相 阅读全文
摘要:
EPOLL的LT/ET 模式下的读写 从一个非阻塞的socket上调用recv/send函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被 阅读全文