Ответ 1
android.os.Process.getThreadPriority(android.os.Process.myTid());
Для дальнейших ссылок
http://developer.android.com/reference/android/os/Process.html#myTid()
Этот код генерирует исключение "данный поток не существует", когда я пытаюсь использовать его в потоке:
android.os.Process.getThreadPriority((int) Thread.currentThread().getId()));
Тоже, если я пытаюсь использовать Process.setThreadPriority, используя идентификатор потока Java класса. Я также заметил, что это не соответствует идентификатору потока, отображаемому в отладчике. Как получить идентификатор потока конкретных Android для использования этого API?
android.os.Process.getThreadPriority(android.os.Process.myTid());
Для дальнейших ссылок
http://developer.android.com/reference/android/os/Process.html#myTid()
Пока мы работаем с потоками. Мы также хотим регистрировать информацию о потоках для решения проблемы, связанной с потоком. Создайте один класс Utils, как показано ниже, и используйте его для записи подписи потока.
public class Utils
{
public static long getThreadId()
{
Thread t = Thread.currentThread();
return t.getId();
}
public static String getThreadSignature()
{
Thread t = Thread.currentThread();
long l = t.getId();
String name = t.getName();
long p = t.getPriority();
String gname = t.getThreadGroup().getName();
return (name
+ ":(id)" + l
+ ":(priority)" + p
+ ":(group)" + gname);
}
public static void logThreadSignature()
{
Log.d("ThreadUtils", getThreadSignature());
}
public static void sleepForInSecs(int secs)
{
try
{
Thread.sleep(secs * 1000);
}
catch(InterruptedException x)
{
throw new RuntimeException("interrupted",x);
}
}
Ссылка: www.androidbook.com