2017年12月14日

什么是死锁,简述死锁发生的四个必要条件,如何避免与预防死锁

摘要: 什么是死锁 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被P1 阅读全文

posted @ 2017-12-14 12:17 wsw_seu 阅读(871) 评论(0) 推荐(0) 编辑

linux中几个文本文件查看命令

摘要: Linux中,常用的文本文件查看命令介绍如下: 1. cat 用法: cat [options] filename options: -A: 显示全部. -E: 在每一行的后面加上"$"符号结尾. -b: 在所有的非空白行上标示编号. 2.tac cat这个单词的倒写, 把文件的内容从最后一行开始输 阅读全文

posted @ 2017-12-14 12:00 wsw_seu 阅读(633) 评论(0) 推荐(0) 编辑

linux c 线程间同步(通信)的几种方法--互斥锁,条件变量,信号量,读写锁

摘要: Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量、信号量和读写锁。 下面是思维导图: 一、互斥锁(mutex) 锁机制是同一时刻只允许一个线程执行一个关键部分的代码。 1 . 初始化锁 其中参数 mutexattr 用于指定锁的属性(见下),如果为NULL则使用缺省属性。 互斥锁 阅读全文

posted @ 2017-12-14 10:00 wsw_seu 阅读(13178) 评论(0) 推荐(0) 编辑

为何条件变量要和互斥量联合使用

摘要: In Thread1: pthread_mutex_lock(&m_mutex); pthread_cond_wait(&m_cond,&m_mutex); pthread_mutex_unlock(&m_mutex); In Thread2: pthread_mutex_lock(&m_mutex 阅读全文

posted @ 2017-12-14 09:56 wsw_seu 阅读(2743) 评论(0) 推荐(0) 编辑

2017年12月11日

堆和栈的区别(转)

摘要: 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 阅读全文

posted @ 2017-12-11 09:55 wsw_seu 阅读(124) 评论(0) 推荐(0) 编辑

2017年12月8日

python 迭代器(转)

摘要: 迭代器 迭代器是在python2.2中被加入的,它为类序列对象提供了一个类序列的接口。有了迭代器可以迭代一个不是序列的对象,因为他表现出了序列的行为。当在python中使用for循环迭代一个对象时,调用者几乎分辨不出他迭代的是一个迭代器对象还是一个序列对象,因为python让他(迭代器)像一个序列那样操作。 如何迭代 本质上说迭代器是个对象,但是这个对象有个特殊的方法next()(在pyt... 阅读全文

posted @ 2017-12-08 16:48 wsw_seu 阅读(1929) 评论(0) 推荐(0) 编辑

2017年12月5日

丑数

摘要: 题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 分析: 思路:按顺序把每个丑数放在数组中,求下一个丑数 下一个丑数必定由有数组中的某一个丑数A * 2, B 阅读全文

posted @ 2017-12-05 20:39 wsw_seu 阅读(159) 评论(0) 推荐(0) 编辑

把数组排成最小的数

摘要: 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,3 阅读全文

posted @ 2017-12-05 10:34 wsw_seu 阅读(98) 评论(0) 推荐(0) 编辑

2017年12月1日

Maximum Subarray(最大连续子串)

摘要: 1 class Solution { 2 public: 3 //动态规划,维护两个变量 local[i+1]=max(array[i],local[i]+array[i+1]) 4 int FindGreatestSumOfSubArray(vector array) { 5 int len=array.size(); 6 if(l... 阅读全文

posted @ 2017-12-01 15:24 wsw_seu 阅读(96) 评论(0) 推荐(0) 编辑

2017年11月30日

Redis学习笔记

摘要: 、随着访问量的上升,要使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。通过文件缓存cache来缓解数据库的压力,多台web机器通过文件缓存不能共享,大量的小文件也带来了较高的IO压力。memcached就自然成为一个好的技术产品。、Mysql主从读写分离。memcached只能缓解数据库读取 阅读全文

posted @ 2017-11-30 17:09 wsw_seu 阅读(135) 评论(0) 推荐(0) 编辑

导航