- 博客(6)
- 资源 (3)
- 收藏
- 关注
转载 红黑树的经典讲解
树型结构一直是一种很重要的数据结构, 我们知道二叉查找树BST提供了一种快速查找, 插入的数据结构. 相比散列表来说BST占用空间更小,对于数据量较大和空间要求较高的场合, BST就显得大有用处了.BST的大部分操作平均运行时间为O(logN), 但是如果树是含N个结点的线性链,则最坏情况运行时间会变为O(N). 为了避免出现最坏情况我们给它增加一些平衡条件, 使它的高度最多为2log(N+1),
2013-03-22 13:40:35 728
转载 pthread_kill和pthread_cancel
pthread_kill和pthread_cancel为了讲述标题两个函数,必须先介绍一下pthread线程库。pthread线程库是遵循POSIX标准开发的,工作非常稳定,性能也不差,所以在Linux下是最常用的线程库。但从调用上看,pthread线程应该仍然属于用户级的线程库,其实用户级还是内核级的关键区别只在于线程的调度是由内核还是用户库来完成,用户级对于一般的服务器工作
2013-03-14 15:12:49 959
转载 设置线程分离状态函数pthread_attr_setdetachstate
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 线程的分离状态决定一个线程以什么样的方式来终止自己。在默认情况下线程是非分离状态的,这种情况
2013-03-13 16:41:43 1484
转载 线程条件变量pthread_cond_t用法
最近学习的模块中遇到了线程条件变量的相关函数,通过查看相关知识找到一篇通过例子讲解的文章:#include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥锁*/pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/*初始化条件变量*/
2013-03-13 16:34:54 1340
转载 select,poll,epoll的区别
select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。对于单进程多线程,每个线程处理多个fd的情况,select是不适合的。1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费2.1024上限问
2013-03-01 16:39:11 333
转载 Linux环境编程--waitpid与fork与execlp与system
waitpid waitpid(等待子进程中断或结束) 表头文件 #include #include 定义函数 pid_t waitpid(pid_t pid,int * status,int options); 函数说明 waitpid()会暂时停止目前进程的执行,直到有信号来到或子进程 结束。如果在调用 wait()时子进程已经结束,则 wait
2013-03-01 09:40:23 830
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人