2012-12-14 43 views
0

我有一个关于串口或蓝牙android的类。该类有一个方法叫做 CommandSender(String CommandText);我怎样才能发送命令与同步?

有许多形式或线程可以调用method.How我能做到这一点: 如果一旦调用方法执行方法,立即 如果几种形式或线程调用该方法,只需2秒之前的/睡眠打电话后。

请给出代码的详细信息。 非常赞赏你!

回答

0

你可以使用

public synchronized void CommandSender(String CommandText) { } 

但这不会提供你需要2秒的睡眠。如果你真的需要2秒睡眠,那么你必须自己实现。

public class BluetoothUtils 
{ 
    private static boolean isLocked = false; 

    public void CommandSender(String CommandText) 
    { 
     while(isLocked) 
     { 
      Thread.sleep(2000); // sleep for 2 seconds 
     } 
     CommandSenderInternal(CommandText); 
    } 

    private synchronized void CommandSenderInternal(String CommandText) 
    { 
     isLocked = true; 
     try 
     { 
      // Your implementation here 
     } 
     catch(Exception ex) 
     { 

     } 
     finally 
     { 
      isLocked = false; 
     } 
    } 
}