- 博客(6)
- 收藏
- 关注
原创 【Linux】线程总结:初识、创建、等待、终止、分离
学习环境 : Centos6.5 Linux 内核 2.6 Linux线程部分总结分为两部分:(1)线程的使用 ,(2)线程的同步与互斥。第一部分线程的使用主要介绍,线程的概念,创建线程,线程退出,以及线程的终止与分离。第二部分主要介绍在多线程环境下,使用同步与互斥保护共享资源,有互斥锁,条件变量,信号量,以及读写锁。 第一部分开始初识线程 线程:也称轻量级进程(Lightw
2017-04-29 19:32:45 8747 2
原创 线程安全与线程不安全
基本概念 线程不安全:就是不提供数据访问保护,在多线程环境中对数据进行修改,会出现数据不一致的情况。 线程安全:就是多线程环境中有对全局变量的变动时,需要对执行的代码块采用锁机制,当一个线程访问到某个数据时,其他线程需要等待当前线程执行完该代码块才可执行,不会出现数据不一致或者数据被污染。如果一段代码在被多个线程执行,如果每次运行结果和单线程运行的结果是一样的,而且其他变量的值和预期
2017-04-27 21:22:59 4254
原创 【c++】template简述
模板简述面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况。不同的是,OOP处理的是在程序运行之前都未知的情况,而在泛型编程中,是在编译时期就已经知道了类型。可以将模板理解为公式,当我们在使用的时候,提供足够的信息,编译器就会替我们生成特定的函数或者类,而不用编程人员为每一种类型都去实现大量重复的代码,大大提高了我们的编码效率。函数模板我们可以定义一个通用的函数模板(functio
2017-04-21 18:46:13 434
原创 死锁产生的条件和处理死锁的方法
死锁是什么死锁(Deadlock)就是指两个或两个以上的进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去,此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁发生的条件若可能发生死锁,则必定要出现三个条件:1. 互斥条件: 指进程对所分配的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它
2017-04-17 20:21:26 6005
原创 二叉搜索树详解及实现代码(BST)
概念二叉搜索树(Binary Search Tree),又称二叉排序树,它或者是一颗空树,或者具有如下性质的树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树基本操作插入向二叉搜索树中插入新元素时,必须先检测这个元素是否在树中已经存在。如果已经存在,则不进行插入,如果元素不存在则将新元素插入
2017-04-15 22:10:01 5426 3
原创 【Linux】进程间通信(IPC)之共享内存详解与测试用例
学习环境centos6.5 Linux内核2.6什么是共享内存共享内存允许两个或更多进程访问同一块内存。当一个进程改变了这块内存中的内容的的时候,其他进程都会察觉到这个更改。效率:因为所有进程共享同一块内存,共享内存在各种进程间通信方式中具有最高的效率。就像访问进程独有的内存区域一样快,并不需要通过系统调用或其他需要切入内核的过程来完成。同时还能避免对数据的各种不必要的复制。因为系统内核没有对访问共
2017-04-06 14:54:54 6648
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人