zoukankan      html  css  js  c++  java
  • atitit.线程死锁 卡住无反应 的原因in cmd调用的解决方案  v3 q39

    atitit.线程死锁 卡住无反应 的原因in cmd调用的解决方案  v3 q39

     

    1问题::线程死锁  卡住无反应1

    1.1. 分类:: cmd调用,  net io  , file  io 调用, multi thread调用same var的时候儿..1

    1.2. 原因readLine()是阻塞方法1

    1.3. 调用same var1

    2解决之道::2

    2.1. 使用了cmd /k走死锁兰...改成个/cok..2

    2.2. Watchdog2

    3Ref3

     

     

    1. 问题::线程死锁  卡住无反应

    1.1. 分类:: cmd调用,  net io  , file  io 调用, multi thread调用same var的时候儿..

     

    1.2. 原因readLine()是阻塞方法

    BufferedReader.readLine  死锁的原因

       // readLine()是阻塞方法,当键盘输入之后,点击回车,得到的值不会为null,就一直处于阻塞状

    1.3. 调用same var

     

    作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

    2. 解决之道::

    2.1. 使用了cmd /k走死锁兰...改成个/cok..

    String cmd="cmd.exe /c dir  ";//cmd="dir";

     

     

     

    2.2. Watchdog

    private void check_time_out(FutureTask  task) {

    Runnable checkTimeout=new Runnable() {

    @Override

    public void run() {

    try {

    System.out.println("--start check task ,timeout:"+timeout_secs" taskid:"+task);

    Object r=task.get(timeout_secs,TimeUnit.SECONDS);

    catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    catch (ExecutionException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    catch (TimeoutException e) {

    // TODO Auto-generated catch block

    //e.printStackTrace();

    System.out.println( "--checkTimeout");

    //task.cancel(true);

    //task.

    catch(CancellationException e)

    {

    System.out.println("--warnging");

    e.printStackTrace();

    }

    }

    };

    new Thread(checkTimeout).start();

    }

    3. Ref

    Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript. —核心网络.htm

  • 相关阅读:
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    11111111
    101
    7
    6
    5
    4
    p
    b2
  • 原文地址:https://www.cnblogs.com/attilax/p/15198662.html
Copyright © 2011-2022 走看看