java耗時
Ⅰ java如何計算程序運行時間
第一種是以毫秒為單位計算的。
[java]view plain
//偽代碼
longstartTime=System.nanoTime();//獲取開始時間
doSomeThing();//測試的代碼段
longendTime=System.nanoTime();//獲取結束時間
System.out.println("程序運行時間:"+(end-start)+"ns");
包含所需的包: import java.lang.System;
Ⅱ java耗時操作為什麼放子線程
java耗時操作為什麼放子線程?
1. 線程和進程的概念
按照操配攜作系統中的描述,線程是CPU調度的最小單元,同時線程是一種有限的系統資源。而進程一般指一個執行單元,在PC和移動設備上指一個程御指序或者一個應用。一個進程可以包含多個線程。
簡單點理解,一個Android APP就是一個進程,一個APP裡面有多個線程,我們多線程編程的意義就是實現「一個APP多個線程」。
有杠精可能會問,那我可不可以一個APP多個進程?又可不可以一個進程只有一個線程?
我告訴你,可以,都可以。
單線程的APP只包括Android的UI線程也是能運行的;一個APP多個進程也是可以達到的,實現方式涉及到Android的IPC機制,這里不細說。
2. 為什麼要使用多線程?
這里杠精可能會說,那你單線程也能跑,我為啥還要整多線程?
我告訴你,首先這句話從Android開發的角度來講,近似於一個假命題。因為谷歌爸爸現在強制規定了不能在UI線程進行耗時操作,鎮賣配必須放到子線程裡面去,除非你的程序不涉及耗時操作。究其原因,是因為在UI線程進行耗時操作的話,給用戶的使用體驗就是界面「卡頓」。同時,如果UI線程被阻塞超過一定時間會觸發ANR(Application Not Responding)錯誤。
從底層的角度來講,多線程可以使得整個環境能夠非同步執行,這有助於防止浪費CPU時鍾周期從而提高效率。換言之,多線程能更充分的利用CPU資源,從而提高程序的運行效率。