1. 程式人生 > >Android執行緒優先順序設定方法技巧

Android執行緒優先順序設定方法技巧

  對於Android平臺上的執行緒優先順序設定來說可以處理很多併發執行緒的阻塞問題,比如很多無關緊要的執行緒會佔用大量的CPU時間,雖然通過了MultiThread來解決慢速I/O但是合理分配優先順序對於併發程式設計來說十分重要。Android線上程方面主要使用的是Java本身的Thread類,我們可以在Thread或Runnable介面中的run方法首句加入Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); //設定執行緒優先順序為後臺,這樣當多個執行緒併發後很多無關緊要的執行緒分配的CPU時間將會減少,有利於主執行緒的處理,相關的Thread優先順序,Android平臺專有的定義羅列有以下幾種:

  int THREAD_PRIORITY_AUDIO //標準音樂播放使用的執行緒優先順序

  int THREAD_PRIORITY_BACKGROUND //標準後臺程式

  int THREAD_PRIORITY_DEFAULT // 預設應用的優先順序

  int THREAD_PRIORITY_DISPLAY //標準顯示系統優先順序,主要是改善UI的重新整理

  int THREAD_PRIORITY_FOREGROUND //標準前臺執行緒優先順序

  int THREAD_PRIORITY_LESS_FAVORABLE //低於favorable

  int THREAD_PRIORITY_LOWEST //有效的執行緒最低的優先順序

  int THREAD_PRIORITY_MORE_FAVORABLE //高於favorable

  int THREAD_PRIORITY_URGENT_AUDIO //標準較重要音訊播放優先順序

  int THREAD_PRIORITY_URGENT_DISPLAY //標準較重要顯示優先順序,對於輸入事件同樣適用。

相關推薦

Android執行優先順序設定方法技巧

  對於Android平臺上的執行緒優先順序設定來說可以處理很多併發執行緒的阻塞問題,比如很多無關緊要的執行緒會佔用大量的CPU時間,雖然通過了MultiThread來解決慢速I/O但是合理分配優先順序對於併發程式設計來說十分重要。Android線上程方面主要使用的是J

Android 執行優先順序設定方法

http://www.cnblogs.com/liulipeng/archive/2013/02/25/2932572.html 對於Android平臺上的執行緒優先順序設定來說可以處理很多併發執

C++ 程序執行優先順序設定

    關於VC中程式程序優先順序設定,可以包含 windows.h 標頭檔案,然後新增下面這句話就可以 SetPriorityClass(GetCurrentProcess(), HIGH_PRI

java設定執行優先順序的誤區

對執行緒有一些瞭解的讀者知道,線上程中,我們可以通過執行緒的setPriority()方法來設定執行緒的優先順序,方法的引數是一個整型值,可以填寫從1~10的值。當我們建立執行緒的時候,java預設給執行緒設定的優先順序是5,1為最低優先順序,10為最高優先順序。下面的例子建立了a,b兩個執

執行設定技巧——與CPU的關係

1、簡化設定 一般說來,執行緒池的大小可以這樣設定: 1、如果是CPU密集型應用,則執行緒池大小設定為N+1 2、如果是IO密集型應用,則執行緒池大小設定為2N+1(因為io讀資料或者快取的時候,執行緒等待,此時如果多開執行緒,能有效提高cpu利用率) (其中N為CPU的個數)

Android的訊息機制,用Android執行間通訊的Message機制,Android中Handler的使用方法

轉自:http://www.cnblogs.com/-OYK/archive/2011/08/03/2126657.html Android的訊息機制(一)   android 有一種叫訊息佇列的說法,這裡我們可以這樣理解:假如一個隧道就是一個訊息佇列,那麼裡

Android 在JNI主執行呼叫Java方法

1. C++ 全域性呼叫Java方法 1.1 C++主執行緒呼叫Java方法 在 Android C++多執行緒-建立子執行緒中演示了在 Java 層呼叫 native 層的方法,但是如何在 native 層去呼叫 Java 層的方法呢? 下面這個類,我們想在呼叫 callJav

Android執行的使用方法

public class ListProgressDemo extends ListActivity {  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  

在spring中引入執行池,設定執行優先順序

在spring.xml 檔案中配置: <!-- 執行緒--> <bean id="taskExecutor" class="org.springframework.sc

java中的執行同步實現方法一(將方法設定為synchronized)

一. 簡要說明:  對於java中的執行緒同步來說,可以用synchronized關鍵字來修飾,既可以對方法進行修飾,也可以對變數進行修飾,而二者都可以實現執行緒的同步。本篇說的是第一種方法,第二種方法在下一篇中說明。 二. 例子:     AccountRunnable.

android 終止執行幾種方法

其實android 不提倡我們終止執行緒的,以前的一些函式,stop等等都不推薦使用了,但是當我們確實要終止執行緒的時候,可看考下面的問題 有時當一個元件或者activity被destory()的時候要求其啟動的執行緒也一起終止掉,現在就來總結了一下有這有幾種方法:

Android 執行 thread 兩種實現方法

這篇文章中有三點需要提前說明一下, 一: 在android中有兩種實現執行緒thread的方法: 一種是,擴充套件java.lang.Thread類 另一種是,實現Runnable介面 二: Thread類代表執行緒類,它的兩個最主要的方法是: run()——包含執

執行優先順序設定pthread_setschedparam

參考:在linux下我們可以通過int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg); 來建立執行緒,但是

執行之join方法

一.前言:        在很多情況下,我們都是通過主執行緒建立並啟動子執行緒的,如果子執行緒中需要耗費大量的時間計算的話,主執行緒往往會比子執行緒先結束,這個時候就會導致有時候主執行緒想獲取子執行緒計算之後的結果,但是卻獲取不到。這個時候,我們就可以通過

Windows Internals 筆記——執行優先順序

1.每個執行緒都被賦予0(最低)~31(最高)的優先順序數。當系統確定給哪個執行緒分配CPU時,它會首先檢視優先順序為31的執行緒,並以迴圈的方式進行排程。如果有優先順序為31的執行緒可供排程,那麼系統就會將CPU分配給該執行緒。在該執行緒的時間片結束時,系統檢視是否還存在另一個優先順序為31的執行緒可以執行

Java多執行之join()方法

概要 本章,會對Thread中join()方法進行介紹。涉及到的內容包括: 1. join()介紹 2. join()原始碼分析(基於JDK1.7.0_40) 3. join()示例 來源:http://www.cnblogs.com/skywang12345/p/34792

Android執行模型--在子執行中更新UI

       Android是支援多執行緒的。主執行緒也稱UI執行緒,子執行緒也稱工作執行緒。一般耗時操作在子執行緒中進行,更新UI操作在主執行緒中進行。在主執行緒中執行耗時操作容易發生ANR錯誤,即應用程式無響應。而Android中又規定只有建立UI的執行緒

執行Thread的t.start()實現的是非同步的執行,t.run()方法實現的是同步執行

package interview; public class TestRun_Start extends Thread { public static void main(String[] args) { TestRun_Start ta = new TestRun_Star

白話理解java多執行之join()方法

join字面意思是加入,我理解為插隊. 舉例:媽媽在炒菜,發現沒喲醬油了,讓兒子去打醬油,兒子打完醬油,媽媽炒完菜,全家一起吃 package cn.yh.thread01; /** * * 打醬油的例子 */ public class Demo03 { public stat

執行優先順序執行具有繼承性、setPriority、getPriority)

什麼 是執行緒優先順序? 執行緒優先順序是指優先順序越高,越有可能先執行,但只是建議先執行,具體什麼時候執行由系統決定。 設定執行緒優先順序 public final void setPriority(int newPriority) ; 取得執行緒優先順序