zoukankan      html  css  js  c++  java
  • 6.异常释放锁的情况

    异常释放锁的情况

        对于web程序,异常的释放锁,很可能意味着程序出现了错误,业务逻辑产生了错误的结果导致了严重的错误,比如:一个队列10个任务,很多对象都会去等待第1个
        队列正常秩序产生的结果返回再次释放锁,那么其中一个发生了异常,导致业务没执行完毕,就释放锁的资源。
    1. package demo1;
    2. /**
    3. *
    4. * Created by liudan on 2017/6/5.
    5. */
    6. public class MyThread5_synchronized2 {
    7. private int i=0;
    8. public synchronized void operation(){
    9. while (true){
    10. try {
    11. i++;
    12. Thread.sleep(200);
    13. System.err.println("∠"+Thread.currentThread().getName().toString()+",-> "+i);
    14. if (i==8){
    15. Integer.parseInt("a");
    16. //throw new RuntimeException("执行错误");
    17. }
    18. } catch (Exception e) {
    19. e.printStackTrace();
    20. System.err.println(" error is :"+i);
    21. continue;//应用storm 场景,继续执行,后续手动去操作这个任务
    22. //break; 立即停止执行,并在此处加入一个日志监控
    23. }
    24. }
    25. }
    26. public static void main(String[] args){
    27. final MyThread5_synchronized2 s = new MyThread5_synchronized2();
    28. Thread t = new Thread(new Runnable() {
    29. @Override
    30. public void run() {
    31. s.operation();
    32. }
    33. },"t-1");
    34. t.start();
    35. }
    36. }
  • 相关阅读:
    Android之基于XMPP即时通讯(转)
    开机启动service小DEMO
    Android 歌词同步滚动效果(转)
    OC中的消息传递和初始化
    oc中对象的初始化
    c语言的结构体字节数统计
    css的页面布局
    说一说我理解的css
    什么是js闭包
    我对js作用域的理解
  • 原文地址:https://www.cnblogs.com/xxt19970908/p/7337138.html
Copyright © 2011-2022 走看看