自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员

先死后活,死去活来

  • 博客(4)
  • 资源 (22)
  • 收藏
  • 关注

原创 Java多线程 之 同步队列BlockingQueue与管道(十五)

一.同步队列BlockingQueue前面的两篇博文: Java多线程 之 生产者、消费者(十三) Java多线程 之 lock与condition的使用(十四) 详细阐述了多个任务之间的协同合作,需要使用wait、notify、notifyAll或者lock、condition、await、signal、signalAll方法来进行同步。实现起来比较复杂。因此java提供了同步队列

2016-07-17 15:41:22 4808

原创 Java多线程 之 lock与condition的使用(十四)

在博文 Java多线程 之 wait、notifyAll(十二) 中使用wait、notify使“打蜡”和“抛光”两个任务能够协同工作,本文阐述使用lock、condition来实现。而且使用signalAll要比使用notifyAll更安全。1.使用抛出异常package org.fan.learn.thread.testCondition; import java.util.concurrent

2016-07-17 12:25:25 968

原创 Java多线程 之 生产者、消费者(十三)

1.为什么要使用while循环来包围wait调用? 如果有多个waiter在竞争一个厨师的“菜”,一个waiter抢到“菜”之后,其他人就不能再抢到菜。当另一个再去判断while条件时,可能已经被那个抢到的waiter将条件置为满足了,这时不得不又wait。但是,如果这时那个抢到的waiter没有执行到更改条件怎么办呢?从这个示例代码上好像无法解释,等以后看到合适的代码再来阐述。 2.一定要在“

2016-07-13 21:59:03 839

原创 Java多线程 之 wait、notifyAll(十二)

1.wait简答介绍前面的介绍都是关于线程同步的,也就是说,多个线程不能同时访问共享资源,但是后面的几篇博文将介绍线程之间的协作。 注意:sleep、yield调用并没有释放锁。 在多线程协作中,最经典的问题就是生产者-消费者问题了。只有生产者生产出了产品消费者才能去消费。因此,在生产者生产出产品之前消费者需要等待阻塞,当生产者生产者生产出产品之后可以通知消费者去消费。 wait方法会等待外部

2016-07-04 22:41:20 728

java反编译工具jd-gui

jd-gui java 反编译工具 将class文件反编译成java文件

2016-04-25

HexEditor插件

HexEditor插件 notePad++

2016-03-15

HexEditor.dll

notepad++查看二进制文件的插件

2016-03-15

junit-4.12.jar

用于写java测试单元的必须的jar包,从官网下的,肯定可用。

2015-07-13

junit-4.12

用于写java测试单元必要的jar包,这个是从官网下的,保证可用哦

2015-07-13

单链表 环 入口点 环长

求单链表是否有环,如果有环求出环的入口点及环长

2014-04-24

C51实现LCD1602

keil C51 实现LCD1602 保证能用 可以写字符串 可以写小数 main函数中有实例

2013-04-03

c51实现lcd1602四线驱动

51单片机 c51实现lcd1602四线驱动

2013-04-01

PL-2303 win7 驱动 usb RS232

PL-2303 win7 驱动 usb RS232 保证可以使用

2013-03-22

VC6.0 工具

VC6.0 工具 显示行号 智能提示 有使用说明及visual active 安装文件和破解文件

2013-01-27

keil uvision 3 注册机 带CID的

keil uvision 3 注册机 带CID的 CID=CSXRK-XZD85 LIC0=RC9U8-3AX1C-ZNSAE-CU1JS-SW7YD-VJD6F

2013-01-23

hex转coe工具

hex coe 51hex_bin corGenerator 在研究MC8051对ROM进行配置时需要coe文件,这里给出了使用keil写的流水灯的hex文件,并将其转换成了coe文件,此coe可以正常使用,并且给出了51hex_bin.exe和CoeGenerator.exe

2013-01-17

数据结构 严蔚敏 C语言版 链队列表示与实现

数据结构 严蔚敏 C语言版 链队列表示与实现 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 行编辑程序

数据结构 严蔚敏 C语言版 行编辑程序 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 汉诺塔

数据结构 严蔚敏 C语言版 汉诺塔 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 数制转换

数据结构 严蔚敏 C语言版 数制转换 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 循环队列

数据结构 严蔚敏 C语言版 循环队列 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 顺序栈

数据结构 严蔚敏 C语言版 顺序栈 顺序栈的实现 很给劲哦 绝对不会令您失望的。

2013-01-16

数据结构 严蔚敏 C语言版 括号匹配

数据结构 严蔚敏 C语言版 括号匹配 while((c = getchar()) != EOF) { switch(c) { case '[': push(&sqSta;, c); break; case '(': push(&sqSta;, c); break; case ']': if(getTop(&sqSta;, &e)) { if(e == '[') { pop(&sqSta;, &temp;); } if(e == '(') { printf("\nnot match\n"); return ERROR; } } break; case ')': if(getTop(&sqSta;, &e)) { if(e == '(') { pop(&sqSta;, &temp;); } if(e == '[') { printf("\nnot match\n"); return ERROR; } } break; default : printf("\nerror\n"); return ERROR; break; } } if(stackEmpty(sqSta)) { printf("\nmatched\n"); } else { printf("\nnot matched\n"); }

2013-01-16

数据结构严蔚敏C语言版 迷宫

数据结构 严蔚敏 C语言版 迷宫 status mazePath(seqStack *S, posType start, posType end) { posType curPos; //current positon int curStep; //the ordinary number sElemType e; curPos = start; curStep = 1; do { if(pass(curPos)) //the current position is "accessed" { footPrint(curPos); e.ord = curStep; e.seat = curPos; e.di = 1; push(S, e); if(curPos.xPos == end.xPos && curPos.yPos == end.yPos) { return OK; //arrive at the final } curPos = nextPos(curPos, 1); curStep++; }//end of if(pass(curPos)) else //the current position is not "accessed" { if(!stackEmpty(*S)) //the stack is not empty { pop(S,&e); while(e.di == 4 && !stackEmpty(*S)) { markPrint(e.seat); //the current position must be marked by '#' pop(S,&e); }//end while if(e.di < 4) { e.di++; push(S,e); curPos = nextPos(e.seat, e.di); } }//end of if(!stackEmpty(*S)) }//end of else }while(!stackEmpty(*S)); }

2013-01-16

液晶显示12864驱动

液晶显示12864驱动适用于EasyArm1138

2012-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除