上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,如今来个复杂点的。这个问题涉及到线程的同步和相互排斥,是一道很有代表性的多线程同步问题,假设能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。程序描写叙述:主线程启动10个子线程并将表示子线程...
分类:
编程语言 时间:
2014-12-25 12:59:37
阅读次数:
166
一、队列的定义 队列(queue)是只允许在一段进行插入操作,而在另一端进行删除操作的线性表,队列是一种先进先出(First in First Out)的线性表,简称为FIFO。而堆栈为先进后出的线性表(FILO)。允许插入的一端称为队尾,允许删除的一端称为队头。 如图所示: 二、队列的抽象数...
分类:
其他好文 时间:
2014-12-14 22:35:29
阅读次数:
278
IOS设计模式第四篇之装饰设计模式的类别设计模式...
分类:
移动开发 时间:
2014-12-13 17:59:42
阅读次数:
146
一、前言 继上次的订单,这是第四篇。记录一下分类和筛选。这功能是最后做的,因为我完全不懂其原理。后来通过同学的指导(一位很有天赋的同学,比我牛逼一个层次,同样是高三。:D),终于也是完成了。在写这篇博客之前还有点半懂不懂,经过些许时间的思考,终于全懂了,可以将其写下来。 二、开始 1.先看一下表设计...
分类:
Web程序 时间:
2014-12-11 12:13:45
阅读次数:
254
一、栈的定义栈是限定仅在表尾进行插入和删除操作的线性表;栈又称为后进先出的线性表(LIFO)。栈顶:允许插入和删除操作的一端称为栈顶;而另一端则为栈底。栈的操作:插入数据称为进栈(压栈、入栈);栈的删除操作称为出栈(弹栈)。如下图所示: 二、栈的抽象数据类型 栈是一种特殊的线性表,因...
分类:
其他好文 时间:
2014-12-01 00:38:49
阅读次数:
192
这里更多探究的是指针的机制。用debug对下面程序进行分析,记录每一条C语句运行后,相关内存单元的值。程序a.c注意理解指针机制我们编写如下代码:编译加载进debug查看:我们先看其反汇编的代码:在这里我们对比着C语句分析:第一条语句是将1000H(16进制,以下16进制用H说明,未说明的都为十进制...
分类:
编程语言 时间:
2014-11-30 21:17:33
阅读次数:
275
最近比较忙, behave的项目结束之后,又加入了一新项目,一开始说要用C#语言来写selenium自动化,后来跟客户确定使用QTP来写。 个人还是比较喜欢用C#语言和selenium框架的。因为qtp,市场上用的不多,发展前途受限制,再加上vbscript语言现在基本上没有人使用了。 OK,开始进...
分类:
编程语言 时间:
2014-11-29 14:24:41
阅读次数:
513
IRedisTypedClient IRedisTypedClient类相当于IRedicClient的强类型版,其方法与属性大多数与IRedisClient类似。 它支持在Redis中使用Linq查询的强大的类,它本身是一个泛型,IRedisClient的泛型方法As获得对象。 其方法原型如...
分类:
其他好文 时间:
2014-11-27 16:13:09
阅读次数:
124
阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇一个经典的多线程同步问题》《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》《秒杀多线程第七篇经典线程同步互斥量Mutex》《秒杀多线程第八篇经典线程同步信号量Semaphore》《秒杀多线程第九篇经典线程同步总...
分类:
编程语言 时间:
2014-11-20 11:47:13
阅读次数:
190
浅谈SQL Server中的事务日志(四)----在完整恢复模式下日志的角色 本篇文章是系列文章中的第四篇,也是最后一篇,本篇文章需要前三篇的文章知识作为基础,前三篇的文章地址如下:浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架浅谈SQL Server中的事务日志(二)-...
分类:
数据库 时间:
2014-11-19 07:07:01
阅读次数:
284