摘要: sleep: sleep让当前线程休眠指定的时间。休眠完成后,状态转到就绪状态。 yield: yield是放弃当前CPU资源,将CPU资源让给其他线程去使用,但放弃的时间不确定。 join: 大部分情况下,主线程启动了子线程,如果子线程需要完成大量复杂的运算,则主线程会先于子线程结束。但主线程如果 阅读全文
posted @ 2017-08-04 11:07 pastrytime 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Lock锁分为以下几种,可重入锁,非可重入锁,公平锁,非公平锁,读写锁。 可重入锁:synchronized和ReentrantLock锁均为可重入锁。当在一个获得了锁的方法中,调用另外一个需要获得锁的方法时,如果此时为可重入锁,则正常运行。如果为非可重入锁,则系统报错。 公平锁:一个线程在等待着另 阅读全文
posted @ 2017-08-04 11:06 pastrytime 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 以前一直不明白 当在线程的run()方法中需要测试某个条件时,为什么用while,而不用if,直到看到了这个简单的例子,终于明白了。。。。 这个例子是这样的: 有两个线程从List中删除数据,而只有一个线程向List中添加数据。初始时,List为空,只有往List中添加了数据之后,才能删除List中 阅读全文
posted @ 2017-08-04 10:37 pastrytime 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 1.多线程 实现方法: 一、继承Thread,重写run方法,调用start即可。 Class Thread1 extends Thread{ Public void run(){ //添加代码 } } Public static void main(String[] args){ Thread1 阅读全文
posted @ 2017-08-04 10:32 pastrytime 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限(锁),在Java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchro 阅读全文
posted @ 2017-08-04 09:30 pastrytime 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1、PreparedStatement的定义 PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处 阅读全文
posted @ 2017-08-04 09:05 pastrytime 阅读(695) 评论(0) 推荐(0) 编辑