- 博客(6)
- 资源 (9)
- 收藏
- 关注
原创 线程同步,锁的相关问题
线程同步过程中,为使程序中多个线程共享资源,需要使用互斥量(锁)来进行同步,同一时间只允许一个线程访问共享资源。如果有多个锁(一个锁可视为一个共享资源)的话,在使用锁的过程中,最重要的就是如何避免死锁。 避免死锁的方法: 1、控制互斥量加锁的顺序来避免死锁,使每个线程加锁的顺序总是一致,释放锁的顺序与加锁的顺序相反; 2、若锁过多,无法排序。若线程获取不了当前要申请的锁,则释放自己已经占有的锁
2016-07-27 16:21:48 412
转载 保存的设置用户ID
Linux中的实际用户ID,有效用户ID和保存的设置用户ID一般是对于进程而言的,具体概念如下:实际用户ID(real user-id):标明进程的执行者是谁。有效用户ID(effective user-id):标明进程执行时对文件的访问权限保存的设置用户ID(saved set-user-id):这个概念涉及到可执行程序文件的设置用户ID位,当可执行程序文件passwd的设置用户ID位(s)已经设
2016-07-27 09:48:27 731
原创 仿函数
定义:一种具有函数特质的对象。即仿函数实质上是一个模板类,它里面只有一类函数,即重载调用运算符().使之行为看起来类似函数。其实质是在调用时,产生一个临时对象,然后该对象去调用重载的调用运算符。 STL算法通常都可以接一个”操作”作为算法的参数,该”操作”有两种: 1.设计为一个函数,将函数指针当做算法的参数; 2.设计为一个仿函数,再以该仿函数产生一个对象,并以此对象作为算法的一个参数。
2016-07-24 12:03:07 415
原创 C++排序算法总结
先上来时间复杂度 区分稳定与不稳定:快速、希尔、堆、选择不稳定,其他排序算法均稳定。 C++实现排序算法代码如下:#include<iostream>#include<vector>#include<limits>using namespace std;//插入排序,相当于打牌,相当于把一个值插入到已经排序好的一个数组中,//先把待排序的值放到一个临时变量里面,让排好序的数字从大到
2016-07-19 20:52:38 1609
原创 缺页率的计算方法
缺页率 = (页面置换次数+分配给该进程的物理块数)/要访问的页面总数 注意: 1、要访问的页面总数:不是数值最大,而是看要访问的总次数,例如某程序访问以下页面0、1、4、2、0、2、6、5、1、2、3、2、1、2、6、2、1、3、6、2,总共20个数,则要访问的页面总数是20,并不是6. 2、由于进程开始时,都会给该进程分配一定数量的物理块,当物理块充足时,直接将要访问的页面添加进物理块中就
2016-07-18 16:07:43 59588 5
原创 C++ 静态成员初始化
在C++ 类中,静态成员一般不允许在类声明中进行初始化,应该在类的外部进行初始化,例如:class A{public: static int a;};static int A::a=0; //初始化方式void main(void){ int b=0; b=A::a;//使用,无需定义相关类的变量而直接使用之。}但是有一个例外,可以为静态成员提供const
2016-07-16 09:28:53 445
gdi+ 9图类
2018-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人