- 博客(8)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
转载 有了互斥量,为什么还需要条件变量?
一。互斥量和条件变量简介 互斥量(mutex)从本质上说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量上的锁。对互斥量进行加锁以后,任何其他试图再次对互斥锁加锁的线程将会阻塞直到当前线程释放该互斥锁。如果释放互斥锁时有多个线程阻塞,所有在该互斥锁上的阻塞线程都会变成可运行状态,第一个变为运行状态的线程可以对互斥锁加锁,其他线程将会看到互斥锁依然被锁住
2016-08-23 20:28:29 357
转载 获取成员函数地址及获取函数地址
首先我们定义一个类Ctest,类里面包含三个不同形式的成员函数,静态成员函数statFunc()、动态成员函数dynFunc()和虚拟函数virtFunc()。在main函数中我们利用cout标准输出流分别输出这三个函数的地址,程序如下所示:#include #include using namespace std;class Point{public:vi
2016-06-12 14:16:41 1661
转载 pthread_cond_wait()函数说明
1. 首先pthread_cond_wait 的定义是这样的The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are called with mutex locked by the calling thread or u
2016-04-21 10:15:02 355
原创 线性规划(算法导论)
花了将近四天的时间初略的把>线性规划的一章的伪代码实现了,调试的时间略长,当中遇到很多的问题,只有自己动手才会体会的更深。虽然调试出来了,但代码还很不精简,以后有时间来优化一下。 #include#include#include#include#include//#includeusing namespace std;#define N 4 //the count o
2015-12-10 10:34:44 1088
原创 kerberos认证全程
Kerberos认证是一种基于KDC( Key Distribute Center )的身份认证协议的一种认证方式,Kerberos认证系统中有3个角色:KDC、用户和服务器。而KDC有两个部件:一个Kerberos 认证服务器AS(Authentication Server)和一个票据授权服务器TGS(Ticket Granting Server)。密钥分发中心(KDC)作为第三方服务来验证用户机
2015-10-11 22:21:26 707
原创 堆排序
堆排序的思想:根据堆的定义,堆的根节点不是最大值就是最小值(最大堆或最小堆),通过每次拿走根节点,然后再重新对堆进行调整,就能保证拿走的序列顺序是按从小到大或是从大到小排列的。每次拿走根节点,堆的节点数就减一,取最后一个叶子节点代替根节点,调整堆。直到堆的节点数量为1。最大堆堆调整:void adjust_heap(int a[],int hole,int n){ int left=2
2015-09-16 11:09:04 289
原创 最大子数组的分治算法
读算法导论当中的最大子数组当中的分治算法,涉及到的问题是怎么从FIND_MAX_SUBARRAY()函数当中返回三个参数,所以用了vector来返回,总感觉不是太好,太浪费空间了,但也没想到其他办法。int max_left,max_right,sum;int FIND_MAX_CROSSING_SUBARRAY(int a[],int low,int mid,int high){int s
2015-03-19 14:41:07 345
原创 二叉树的有关操作
二叉树是一个很重要的数据结构,关于树的相关操作,我想最重要的就是掌握树的遍历算法,其中的递归思想也是很难理解的,递归能化繁为简,将一些复杂的问题分解为一系列相同思想的小问题,但递归的不足之处是空间消耗大,需要不停的压栈出栈。设 二叉树节点的结构typedef struct node * tree_pointer;typedef struct node{ tree_pointer lef
2014-12-14 10:58:43 240
关于qt的QString成员函数
2015-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人