2013-07-23 5 views
-1

Возможно ли, чтобы функция выполнялась в другом потоке, просто вызвав эту функцию в теле потока, который я определил?Можно ли вызвать функцию как тело нити?

Thread background = new Thread(new Runnable() { 
    public void run() { 
     mCamera.addCallbackBuffer(data); 
    } 
}); 
background.start(); 

Могу ли я сделать что-то подобное?

+1

Да, вы можете это сделать, и он будет работать в отдельной теме. – assylias

+4

Зависит, если 'mCamera' объявлен окончательным. –

+3

Данные также должны быть окончательными. –

ответ

1

Да, почему бы и нет, если у вас есть объект, вы можете вызвать его метод в любом потоке.

5

Предоставлено mCamera и data являются членами экземпляра, статическими членами или конечными переменными и не равными нулю, это должно сработать.

+1

+1, Хорошая работа, охватывающая переменные case, может быть указана в разделе. –

+1

будет полным; 'data' может быть нулевым в зависимости от того, как' addCallbackBuffer' использует его. – pstanton

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