Javascript 当所有微尘(节点)都有特定输出时,如何使用脚本停止contiki中的模拟?

Javascript 当所有微尘(节点)都有特定输出时,如何使用脚本停止contiki中的模拟?,javascript,contiki,Javascript,Contiki,当一个节点(无论哪个节点)打印“ok”时,此代码将停止模拟 WAIT_UNTIL(msg.equals('ok')); log.testOK(); 此代码表示节点1打印“确定”,然后停止 WAIT_UNTIL(id == 1 && msg.equals("ok")); log.testOK(); 我想在所有节点都已打印“ok”时停止模拟,这意味着在每个节点至少打印一次“ok”后。我试过一些密码,但没用 不工作(每个节点都已打印ok,而不是stop)代码(假设我有10个节点):

当一个节点(无论哪个节点)打印“ok”时,此代码将停止模拟

WAIT_UNTIL(msg.equals('ok'));
log.testOK();
此代码表示节点1打印“确定”,然后停止

WAIT_UNTIL(id == 1 && msg.equals("ok"));
log.testOK();
我想在所有节点都已打印“ok”时停止模拟,这意味着在每个节点至少打印一次“ok”后。我试过一些密码,但没用

不工作(每个节点都已打印ok,而不是stop)代码(假设我有10个节点):


有什么建议吗?先谢谢你。如果不需要在脚本中指定节点总数,则效果更好。

等待您的条件为真。一旦为true,则调用Simulation类的stopSimulation()函数

/* Stops this simulation (notifies observers). */ 
public void stopSimulation() 
{ 
    if (isRunning())
     { 
        stopSimulation = true; 
        /* Wait until simulation stops */ 
        if (Thread.currentThread() != simulationThread) 
           { 
            try 
               { 
                if (simulationThread != null) 

                   { 
                     simulationThread.join(); 
                    } 
               } 
                 catch (InterruptedException e) 
                    { 
                    } 
               } 
         }
    } 

等到你的情况属实。一旦为true,则调用Simulation类的stopSimulation()函数

/* Stops this simulation (notifies observers). */ 
public void stopSimulation() 
{ 
    if (isRunning())
     { 
        stopSimulation = true; 
        /* Wait until simulation stops */ 
        if (Thread.currentThread() != simulationThread) 
           { 
            try 
               { 
                if (simulationThread != null) 

                   { 
                     simulationThread.join(); 
                    } 
               } 
                 catch (InterruptedException e) 
                    { 
                    } 
               } 
         }
    } 
/* Stops this simulation (notifies observers). */ 
public void stopSimulation() 
{ 
    if (isRunning())
     { 
        stopSimulation = true; 
        /* Wait until simulation stops */ 
        if (Thread.currentThread() != simulationThread) 
           { 
            try 
               { 
                if (simulationThread != null) 

                   { 
                     simulationThread.join(); 
                    } 
               } 
                 catch (InterruptedException e) 
                    { 
                    } 
               } 
         }
    }