pingh14

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年1月3日

摘要: 摘要从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。场景1:如果已加锁,则不再重复加锁a、忽略重复加锁。b、用在界面交互时点击执行较长时间请求操作时,防止多次点击导致后台重复执行(忽略重复触发)。以上两种情况多用于进行非重要任务防止重复执行,(如:清除无用临时文件,检查某些资源的可用性,数据备份操作等)if (lock.tryLock()) { //如果已经被lock,则立即返回false不会等待,达到忽略操作的效果 try { //操作 } finally { lock.unlock(); }}场景2:如果发现该操作已... 阅读全文
posted @ 2014-01-03 23:36 pingh14 阅读(2175) 评论(0) 推荐(0) 编辑

摘要: 1,java中有几种方法可以实现一个线程?答:在Java中实现一个线程有两种方法,第一是实现Runnable接口实现它的run()方法,第二种是继承Thread类,覆盖它的run()方法。这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runnable接口了,因为Java只允许单继承的。常见错误:调用run()方法而非start()方法创建并运行一个线程所犯的常见错误是调用线程的run()方法而非start()方法,如下所示:Thread newThread = new Thread(MyRunnable());newThread.run();起初你并不会感觉到有什么不妥, 阅读全文
posted @ 2014-01-03 00:14 pingh14 阅读(319) 评论(0) 推荐(0) 编辑