Как получить идентификатор Android для Android?

Этот код генерирует исключение «данный поток не существует», когда я пытаюсь использовать его в потоке:

android.os.Process.getThreadPriority((int) Thread.currentThread().getId())); 

То же самое, если я пытаюсь использовать Process.setThreadPriority, используя Java-класс Thread id. Я также заметил, что это не соответствует идентификатору потока, отображаемому в отладчике. Как получить идентификатор потока конкретных Android для использования этого API?

Solutions Collecting From Web of "Как получить идентификатор Android для Android?"

 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); } } 

Ссылка: http://www.androidbook.com