日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 打印线程信息

發布時間:2024/4/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 打印线程信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天,講講如何打印線程的id。


用語句:

???Android.os.Process
????//獲取當前進程的方法
????android.os.Process.getElapsedCpuTime():獲取消耗的時間。
android.os.Process.myPid():獲取該進程的ID。
android.os.Process.myTid():獲取該線程的ID。
android.os.Process.myUid():獲取該進程的用戶ID。
????android.os.Process.supportsProcesses:判斷該進程是否支持多進程。
?????
????// 獲取/設置線程優先級
????getThreadPriority(int tid):獲取指定ID的線程的優先級。
????setThreadPriority(int priority):設置當前線程的優先級。
????setThreadPriority(int tid,int priority):設置指定ID的線程的優先級。
????
????//管理進程
????killProcess(int pid):殺死指定的進程。
????sendSignal(int pid,int singal):向指定的進程發送信號。
????
????android.os.Environment
????//獲取系統環境變量
????getDataDirectory():獲取當前系統中數據文件夾環境變量。
????getDownloadCacheDirectory():獲取當前系統中下載緩存文件環境變量。
????getExternalStorageDirectory():獲取當前系統中外部存儲文件環境變量。
????getRootDirectory():獲取當前系統中根文件環境變量。

---------------------------------------

實例:viewrootImp.Java中的構造函數,打印進程和線程id

public ViewRootImpl(Context context, Display display) {mContext = context;mWindowSession = WindowManagerGlobal.getWindowSession();mDisplay = display;mBasePackageName = context.getBasePackageName();mDisplayAdjustments = display.getDisplayAdjustments();mThread = Thread.currentThread();Log.d("stl","ViewRootImpl "+android.os.Process.myPid()+" Thread: "+android.os.Process.myTid()+" name "+Thread.currentThread().getName());

輸出:

01-08 13:22:23.509 2373 2373 D stl : ViewRootImpl 2373 Thread: 2373 01-08 13:22:25.929 4027 4027 D stl : ViewRootImpl 4027 Thread: 4027 01-08 13:22:26.979 4168 4168 D stl : ViewRootImpl 4168 Thread: 4168 01-08 13:22:27.949 3825 3825 D stl : ViewRootImpl 3825 Thread: 3825 01-08 13:22:28.069 3825 3825 D stl : ViewRootImpl 3825 Thread: 3825

前面一個號是進程id,后面一個號是線程id。



另外,可以使用getThreadId()?方法一個正在運行線程的ID。

public class Main extends Object implements Runnable {private ThreadID var;public Main(ThreadID v) {this.var = v;}public void run() {try {print("var getThreadID =" + var.getThreadID());Thread.sleep(2000);print("var getThreadID =" + var.getThreadID());} catch (InterruptedException x) {}}private static void print(String msg) {String name = Thread.currentThread().getName();System.out.println(name + ": " + msg);}public static void main(String[] args) {ThreadID tid = new ThreadID();Main shared = new Main(tid);try {Thread threadA = new Thread(shared, "threadA");threadA.start();Thread.sleep(500);Thread threadB = new Thread(shared, "threadB");threadB.start();Thread.sleep(500);Thread threadC = new Thread(shared, "threadC");threadC.start();} catch (InterruptedException x) {}} }class ThreadID extends ThreadLocal {private int nextID;public ThreadID() {nextID = 10001;}private synchronized Integer getNewID() {Integer id = new Integer(nextID);nextID++;return id;}protected Object initialValue() {print("in initialValue()");return getNewID();}public int getThreadID() {Integer id = (Integer) get();return id.intValue();}private static void print(String msg) {String name = Thread.currentThread().getName();System.out.println(name + ": " + msg);} }

結果

上面的代碼示例將產生以下結果。

threadA: in initialValue() threadA: var getThreadID =10001 threadB: in initialValue() threadB: var getThreadID =10002 threadC: in initialValue() threadC: var getThreadID =10003 threadA: var getThreadID =10001 threadB: var getThreadID =10002 threadC: var getThreadID =10003


android 打印線程信息就講完了。


就這么簡單。



總結

以上是生活随笔為你收集整理的android 打印线程信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。