
linux C
文章平均质量分 73
WythePlus
这个作者很懒,什么都没留下…
展开
-
Linux操作系统多线程信号总结
linux 多线程信号编程总结linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他转载 2016-03-28 17:17:44 · 357 阅读 · 0 评论 -
多线程---自旋锁、互斥锁区别
何谓自旋锁?它是为为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环转载 2016-03-28 17:16:46 · 445 阅读 · 0 评论 -
Linux操作系统多线程信号总结
linux 多线程信号编程总结linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他转载 2016-03-28 17:14:47 · 472 阅读 · 0 评论 -
Linux下利用backtrace追踪函数调用堆栈以及定位段错误
一.用途:主要用于程序异常退出时寻找错误原因二.功能:回溯堆栈,简单的说就是可以列出当前函数调用关系三.原理:1. 通过对当前堆栈的分析,找到其上层函数在栈中的帧地址,再分析上层函数的堆栈,再找再上层的帧地址……一直找到最顶层为止,帧地址指的是一块:在栈上存放局部变量,上层返回地址,及寄存器值的空间。2. 由于不同处理器堆栈方式不同,此功能的具体实现是编译器转载 2016-03-28 14:53:55 · 726 阅读 · 0 评论 -
Pthread创建线程后必须使用join或detach释放线程资源
Pthread 资料中,有这么一段话:(man pthread_detach):Either pthread_join(3) or pthread_detach() should be called for each thread that an application creates, so that system resources for the thread转载 2016-03-28 14:52:27 · 726 阅读 · 0 评论 -
彻底释放Linux线程的资源
Linux系统中程序的线程资源是有限的,表现为对于一个程序其能同时运行的线程数是有限的。而默认的条件下,一个线程结束后,其对应的资源不会被释放,于是,如果在一个程序中,反复建立线程,而线程又默认的退出,则最终线程资源耗尽,进程将不再能建立新的线程。解决这个问题,有2种方式,系统自动释放线程资源,或者由另一个线程释放该线程资源。注意,在这里,我认为进程运行后,本身,也是一个线程,主线转载 2016-03-28 14:51:20 · 441 阅读 · 0 评论 -
bss,data,text,rodata,堆,栈,常量段
bss段:BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。它有什么特点呢,让我们来看看一个小程序的表现。int bss_array[1024 * 1024] = {0};int main(int argc, char* argv[]){转载 2016-03-28 14:35:18 · 975 阅读 · 0 评论 -
mount/umount函数
用法: #include int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data);int umount(const char *target);int umount2(con原创 2016-03-25 17:30:09 · 1464 阅读 · 0 评论 -
通过select较高效的捕获和处理鼠标键盘事件
select监听这些文件描述符的状态,若有一个发生变化则返回,否则阻塞。[cpp] view plain copy print?#include #include #include #include #include #include #inclu转载 2016-04-18 13:58:22 · 2246 阅读 · 1 评论