计时器内的线程

时间:2014-07-24 08:36:24

标签: android multithreading timer

我正在寻找一种方法,使用scheduleAtFixedRate(delay,period)每3秒执行一次方法,并执行另一种方法,从第一个方法延迟100毫秒。

这是我到目前为止所做的尝试:

new Timer().scheduleAtFixedRate(new TimerTask()

        {
            public void run()

            {

                try {
                    mmOutStream.write(buffer);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                new Handler().postDelayed(new Runnable()

                {

                    public void run()
                    {
                        Log.v("msg","i am inside postDelayed");
                        try {
                            s.genTone();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        s.playSound();

                    }
                }

                        ,100);
            }
        }


        , 0, 3000);

首先我想知道这样运行是否安全?有另一种方式吗? 我知道我必须拨打Looper来同步两个Runnables,但我不知道应该在哪里添加它。

0 个答案:

没有答案