上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: 信号量说实话自己没怎么使用过。书上大概这样说,信号量设置一个资源访问计数。当该计数值大于0的时候,该信号量对象为有信号状态,当该计数值等于0的时候,该信号量对象为无信号状态。我们来查几个主要的API用于前面的卖票问题,信号量同步中主要函数包括以下几个:该函数用于创建一个信号量句柄,返回值即为该信号量... 阅读全文
posted @ 2015-07-29 16:22 vpoet 阅读(1670) 评论(0) 推荐(0) 编辑
摘要: 事件是一个内核事件,内核事件是什么呢,我理解也不深入也不好说,暂且理解为一个内核维护的数据类型吧通过内核事件同步主要的方法是对事件的信号有和无来进行同步。比如当我们一个线程进入一段临界代码(独占代码段,不可多个线程同时访问)那么这时候我们将事件对象设置为无信号状态。那么另外一个线程便会在等待这样一个... 阅读全文
posted @ 2015-07-29 15:40 vpoet 阅读(925) 评论(0) 推荐(1) 编辑
摘要: 关键区对象为:CRITICAL_SECTION 当某个线程进入关键区之后,其他线程将阻塞等待,知道该线程释放关键区的拥有权。关键区同步主要有以下几个API初始化关键区对象,无返回值,传入一个关键区对象的指针。该函数在使用完关键区之后删除关键区对象,无返回值,同样传入一个关键区对象指针该函数为进入关键... 阅读全文
posted @ 2015-07-29 14:57 vpoet 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 本文仅代表博主自己对C++内存对象模型的一点理解,如果文中有理解偏差和不准确的地方,希望各位大大提出,我好及时改正。本博文只对博主自己负责,不对任何人负责。就如《深度探索C++对象模型》一书中介绍的C++的封装并没有给C++带来过多的开销。然而面向对象的编程方法却给广大的编程者提供了一种更为开阔的编... 阅读全文
posted @ 2015-07-28 11:39 vpoet 阅读(732) 评论(2) 推荐(3) 编辑
摘要: 二叉树的递归先序遍历很简单,假设二叉树的结点定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode* m_pLeft;5 BinaryTreeNode* m_pRight;6 };递归先序遵循:根-左-... 阅读全文
posted @ 2015-07-27 22:16 vpoet 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图4.5中的二叉树,则依次打印出8、6、10、5、7、9、11二叉树结点的定义如下:1 struct BinaryTreeNode2 {3 int m_nValue;4 BinaryTreeNode* ... 阅读全文
posted @ 2015-07-27 20:25 vpoet 阅读(917) 评论(0) 推荐(1) 编辑
摘要: 其实我们从直观上可以很好的理解静态成员函数不能调用非静态成员变量这句话因为无论是静态成员函数还是静态成员变量,它们都是在类的范畴之类的,及在类的整个生存周期里始终只能存在一份。然而非静态成员变量和非静态成员函数是针对类的对象而言。然而从本质上来说类的静态成员函数的函数形参中没有默认的this指针,导... 阅读全文
posted @ 2015-07-27 18:00 vpoet 阅读(3948) 评论(0) 推荐(0) 编辑
摘要: 关于进程的内存的分配参考博文:http://blog.csdn.net/hongchangfirst/article/details/6917829这里主要说说堆区和栈区的区别:1.堆区是程序里动态分配的内容,堆区的内存容量大,使用灵活,分别后要自行回收容易产生内存碎片。2.栈区主要是存储函数的局部... 阅读全文
posted @ 2015-07-27 17:27 vpoet 阅读(1527) 评论(0) 推荐(0) 编辑
摘要: 先介绍一个问题,一个空类的大小是多少?我们不妨测试一下: 1 #include 2 using namespace std; 3 4 class vpoet 5 { 6 7 }; 8 9 int main()10 {11 cout<<"sizeof(vpoet)="<<sizeof(... 阅读全文
posted @ 2015-07-27 14:30 vpoet 阅读(2514) 评论(0) 推荐(1) 编辑
摘要: 内存对齐其实是为了在程序运行的时候更快的查找内存而做的一种编译器优化。我们先看这样一个例子: 1 #include 2 using namespace std; 3 4 struct vpoet 5 { 6 int a; //4 bytes 7 char b; //1 b... 阅读全文
posted @ 2015-07-27 13:26 vpoet 阅读(2370) 评论(0) 推荐(1) 编辑
摘要: Suppose that a website contains two tables, theCustomerstable and theOrderstable. Write a SQL query to find all customers who never order anything.Tab... 阅读全文
posted @ 2015-07-27 11:12 vpoet 阅读(136) 评论(0) 推荐(0) 编辑
摘要: Write a SQL query to find all duplicate emails in a table namedPerson.+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com |... 阅读全文
posted @ 2015-07-27 11:11 vpoet 阅读(144) 评论(0) 推荐(0) 编辑
摘要: TheEmployeetable holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id.+----+-------+-... 阅读全文
posted @ 2015-07-27 11:10 vpoet 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Table:Person+-------------+---------+| Column Name | Type |+-------------+---------+| PersonId | int || FirstName | varchar || LastName ... 阅读全文
posted @ 2015-07-27 11:09 vpoet 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列,但4、3、5、1、2就不可能是该该压栈序列的弹出序列。这种判断其实只要掌握栈的先进... 阅读全文
posted @ 2015-07-26 21:35 vpoet 阅读(725) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页