2013-07-25 3 views
0

Я хочу использовать поток, созданный внутри одного класса в другом классе. Это код, который создает поток:Как использовать поток, созданный внутри одного класса в другом классе?

 Thread background = new Thread(new Runnable() { 
      public void run() { 
       Log.d ("Thread", "Thread has started"); 
       processImage(data, size.width, size.height, camera); 
       camera.addCallbackBuffer(data); 
       Log.d ("Thread", "Thread has ended"); 
      } 
     }); 

     if (!background.isAlive()) 
     { 
      background.setPriority (10); 
      background.start(); 
     } 

Теперь, когда я нахожусь в режиме камеры, и я хочу вернуться, я хочу, чтобы основной поток ждать, пока поток закончит делать свою работу. Поэтому я решил, что если я добавлю background.join() в функцию surfaceDestroyed() класса SurfaceView, я должен уметь получить желаемый результат. Но проблема в том, что поток не создан в классе SurfaceView. Итак, что мне делать? Как использовать этот конкретный поток в классе SurfaceView?

+0

Можете ли вы просто передать его как параметр Thread на поверхностьDestroyed()? –

ответ

0

Возможно, вы можете хранить background в виде статической переменной и обращаться к ней таким образом?

Смежные вопросы