02 2017 档案

摘要:在java多线程中,可以使用synchronized实现线程之间的同步互斥,但在jdk1.5中增加了ReentrantLock类也能达到同样的效果,而且在使用上更加灵活,扩展功能上更加强大。 创建MyService.java类,代码如下: 调用ReentrantLock对象的lock()方法获取锁, 阅读全文
posted @ 2017-02-19 21:54 dquery 阅读(732) 评论(0) 推荐(1) 编辑
摘要:mybatis只提供了单条数据的插入,要批量插入数据我们可以使用循环一条条的插入,但是这样做的效率太低下,每插入一条数据就需要提交一次,如果数据量几百上千甚至更多,插入性能往往不是我们能接受的,如下例子可以成功的使用序列往oracle批量插入数据, mapper映射文件代码如下: 在此要说明的是,如 阅读全文
posted @ 2017-02-16 22:17 dquery 阅读(5291) 评论(0) 推荐(0) 编辑
摘要:本文将介绍jdk提供的api中停止线程的用法。 停止一个线程意味着在一个线程执行完任务之前放弃当前的操作,停止一个线程可以使用Thread.stop()方法,但是做好不要使用它,它是后继jdk版本中废弃的或者将不能使用的方法,大多数停止一个线程的操作使用Thread.interrupt()方法。 1 阅读全文
posted @ 2017-02-14 21:38 dquery 阅读(244) 评论(0) 推荐(0) 编辑
摘要:1.创建Queue.java 运行结果如下: 执行第一个put的时候由于队列容量已经满了,所以线程阻塞。另一个线程take之后,阻塞的线程继续执行put成功。 阅读全文
posted @ 2017-02-13 22:03 dquery 阅读(5257) 评论(0) 推荐(0) 编辑
摘要:首先创建一个MyThread类,继承Thread,有一个成员变量flag,重写run方法: 然后,创建Run类,如下: 运行结果如下: 可以看到,程序的运行结果出现了死循环,另一个线程修改了flag的值为false之后,并没有跳出循环,这是因为在执行代码thread.start()启动这个线程时,变 阅读全文
posted @ 2017-02-12 12:33 dquery 阅读(266) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示