摘要: 最近在学习毕向东老师的java基础课程,目前学到的多线程的这一部分,以下权当做一个总结。一、引出 对于火车站来说,卖票是每天都会发生的事情,然而如果只有一个窗口卖票,单线程来操作将会导致效率很低,如果多窗口操作就会使效率大幅度提升,此处我们假设只有100张票,两个卖票窗口,代码如下: 执行后结果如图: 会发现,最后一行居然出现了一个num=0的情况,可是在我们的程序中明明已经做了对num大于0的检查,此处即为将要解决的问题。二、线程同步 以上的程序出现了num等于0的情况,此情况出现的原因如下:当num=1时线程1执行到第五行,if判断其值大于0,接下来该线程休息... 阅读全文
posted @ 2013-10-24 22:12 北风一叶 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 在一个系统中有两个应用A与B,其中A为主应用,B为报表应用,ASession为30分钟,B的Session为20分钟,用户第一次登录A后,会自动登录B,此时系统计算B的Session时间。有些情况下用户在A应用上会一直停留,比如一小时,那一小时后,B的Session已经失效,同理在B应用上停留时间过长,再去访问A也会引用A的Session失效重新登录的问题。 在不使用单点登录的情况下,可以在二者的公共页面上(比如header.html),增加一个js方法,该方法定时去访问两个应用,代码如下: 阅读全文
posted @ 2013-09-27 12:04 北风一叶 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 一、数据库备份本备份方式重点是为了只生成一个备份文件,如果再产生日志类的东西我嫌麻烦,重点是以下图相关选项的设置(离线完全备份,并采用压缩格式):点击显示命令,使用的是以下的命令进行的备份:CONNECT TO AAQA;QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;CONNECT RESET;BACKUP DATABASE AAQA TO "C:\" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS WITHOUT PROMPTING;CONNECT TO AAQA;UNQUIE 阅读全文
posted @ 2013-09-03 17:31 北风一叶 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 请首先看上文:C语言线性表之队列算法一:链式队列四、循环队列1. 我们上文中提到的静态队列就是用循环队列实现的,那为什么静态队列必须要用循环队列来实现呢?比如说一个队列可以容纳5个元素,此时队列满的情况下,我依次出队,等5个元素均出队完成后,再入队也入不进去,那前边已出队元素所占用的空间就白白学浪费了,比如下图所示,如果队头与队尾均指向最后的一个,那前边的空间怎么办呢?2.初始化,队列的初始化分为以下的三步:第一步:为数组(此处我们用数组来演示)分配相应的空间,但请注意,如果要分配的元素为n个,则请为数组分配n+1个空间,这样做是为了方便判断空及判断是否已满第二步:设定队头指向第0个元素第三步 阅读全文
posted @ 2013-07-28 08:54 北风一叶 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 之前写过《C语言实现线性表之栈算法》,《C语言实现线性表之链表算法》《C语言实现线性表连续存储结构相关算法》三篇关于算法的文章,但这三篇文章中只有大段的代码,并没有相关的解说,对于当时的我来说,思路会比较清晰,但过一段时间后,这些个算法为什么这样实现,也许就想不起来了,所以本文增加一些解说性的文字,如果各位看官看的不爽,恳请不吝赐教。一、定义队列:无非就是一种先进先出的一种存储结构,可以用以下的示意图进行演示。二、分类1)动态队列:通常使用链表来实现2)静态队列:使用数组来实现三、动态队列的实现第一部分:其本实现思路:动太队列的实现使用链表来实现,如下示意图:其中Rear为队尾用于插入数据.. 阅读全文
posted @ 2013-07-27 15:01 北风一叶 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 以下为代码: 1 # include 2 # include 3 # include 4 5 typedef struct LinkList 6 { 7 int data; 8 struct LinkList * next; 9 }NODE, * PNODE;10 11 typedef struct Stact12 {13 PNODE top;14 PNODE pbottom;15 }STACK,* PSTACK;16 17 void init(PSTACK p);18 bool Push(PSTACK p,int val);19 bool Pop(PS... 阅读全文
posted @ 2013-07-25 22:29 北风一叶 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 链表的各种算法,包括初始化,插入,删除,排序等操作,以下为代码: 1 # include 2 # include 3 # include 4 5 typedef struct LinkList{ 6 int data; 7 struct LinkList * next; 8 }NODE, * PNODE; 9 10 //链表初始化 11 PNODE init(); 12 //插入元素 13 bool insert(PNODE pHead,int pos,int val); 14 //删除元素 15 bool deleteLink(PNODE pHe... 阅读全文
posted @ 2013-07-19 06:10 北风一叶 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 使用C语言编写的线性表连续存储结构的各种算法,包括插入,删除,清空,判断是否已满等,以下为代码: 1 # include 2 # include 3 # include //包含了exit函数 4 5 struct Arr 6 { 7 int * pBase; 8 int len; 9 int cnt; 10 }; 11 12 //初始化 13 void init(struct Arr * p,int length); 14 //附加新元素 15 bool append(struct Arr * p,int val); 16 //添加新元素... 阅读全文
posted @ 2013-07-18 14:07 北风一叶 阅读(270) 评论(0) 推荐(0) 编辑