自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux--死锁产生条件及避免死锁算法

一.什么是死锁?所谓死锁是指在多道程序系统中,一组进程中的每一个进程均无限期的等待被该组进程中的另一个进程所占有且永远不会释放的资源,这种现象称系统处于死锁状态。 二.死锁产生的原因?1.竞争资源,系统产生的资源有限不能满足每个进程的需求。2.多道程序运行时,进程推进顺序不合理。 三.形成死锁四个必要条件?1.互斥使用资源2.请求和保持资源3.不可抢夺资源

2017-03-31 16:33:00 3532

原创 Linux--线程同步与互斥之条件变量

上篇博客讲了互斥量问题:http://blog.csdn.net/sayhello_world/article/details/67637858 就拿生产者-消费者为例,如果两个线程都有互斥锁,但是生产者生产的快,消费者消费的慢,这里我们会发现,消费者一直再消费此时生产者还没有产生东西。这就会导致消费者总是加锁进来再解锁出去。为了让两者同步,这里提出了条件变量。 条件变量是线程可用

2017-03-31 15:47:58 605

原创 Linux--线程基本概念及线程分离

线程:一.什么是线程(tcb)?线程是在进程地址空间内运行的,强调资源共享(多个线程共享一份地址空间)。Linux下是用进程模拟线程,并无真正的线程。进程是分配资源的基本单位,线程是调度的基本单位。二.线程可以共享和独占?共享的:1. 文件描述符表2. 每种信号的处理方式(SIG_IGN、SIG_DFL或者自定义的信号处理函数)3. 当前工作目录4. 用户i

2017-03-28 16:09:42 882

原创 数据结构--排序算法(归并排序&&基数排序&&桶排序)

在前面我们说了快速排序等排序方法,如有同学想看则请查阅往期博:插入排序,选择排序:http://blog.csdn.net/sayhello_world/article/details/61927082冒泡排序,快速排序,鸽巢排序:http://blog.csdn.net/sayhello_world/article/details/63258406今天我们来说归并排序归并

2017-03-24 16:52:03 1843

原创 数据结构--排序算法(冒泡排序&&快速排序&&鸽巢排序)

冒泡排序:思想:两两交换,大的放到后面。重复size-1次代码实现://冒泡排序void Bubble_Sort(int array[],int size){ for(int idx= 0; idx < size;++idx) { for(int index= 0; index < size-1;++index) {

2017-03-18 17:29:15 705

原创 Linux--进程间通信之共享内存

1.      什么是共享内存?进程A可以及时看到进程B堆内存中数据的更新。由于多个进程共享一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。有关信号量的更多内容,可以查阅我的前一篇文章:http://blog.csdn.net/sayhello_world/article/details/614228982.      共享内存优缺点:优点:采用共享内存的一份好处是效

2017-03-16 17:02:33 630

原创 数据结构--排序算法(插入排序&&选择排序)

今天我们来总结一下数据结构中各种排序算法。数据结构排序算法 part1:直接插入排序:思想:当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置将array[i]插入,原来位置上的元素顺序后移。

2017-03-13 20:48:49 2567

原创 Linux--进程间通信之信号量

现在已经写了两种进程间通信方式Linux--进程间通信之匿名管道及命名管道:Linux--进程间通信之消息队列:今天我们来说第三种进程间通信方式--信号量。一.什么是信号量?信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,

2017-03-11 18:25:29 565

原创 Linux--进程间通信之消息队列

今天我们来说说进程间通信的另一种方法————消息队列。 1.什么是消息队列?消息队列是操作系统提供的队列,他提供了一种从一个进程向另一个进程发送一个有类型数据块的方法来实现通信。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。 2.进程间通信(IPC)必须要知道的数据结构?1.IPC_Perm他是共有的数据结

2017-03-02 21:06:14 503

原创 Linux--进程间通信之匿名管道及命名管道

今天我们来说一下管道: 管道是一种最基本的IPC机制,由pipe函数创建。管道分为匿名管道和命名管道。匿名管道的工作流程:1.父进程调用pipe开辟管道,得到两个文件描述符指向管道的两端。2.父进程调用fork创建子进程,那么子进程也有两个文件描述符指向同一管道。3.父进程关闭管道读端,子进程关闭管道写端。父进程可以往管道里写,子进程可以从管道里读,管道是用环形

2017-03-02 17:06:43 615

http-tools(这个版本的ab有坑)

这是centos6.5 内核版本为2.6.32-431.el6.i686 自带的http-tools。其中ab有坑,慎用。

2019-04-30

vld内存泄漏检测工具下载

VLD是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号; 可以得到泄露内存的完整数据; 可以设置内存泄露报告的级别;

2017-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除