android线程优先级大小,android 设置线程优先级 两种方式

1) android.os.Process.setThreadPriority (int priority)或android.os.Process.setThreadPriority (int tid, int priority)priority:【-20, 19】,高优先级 -> 低优先级.(2)java.lang.Thread.setPriority (int priority)priority:【1, 10】,低优先级 -> 高优先级.测试后发现,使用android本身的API(第1种方法)设置的优先级,对线程调度影响显著.java

------------------------------------------------android

import android.app.Activity;

import android.os.Bundle;

import android.os.Process;

import android.util.Log;

public class TestThreadPriority extends Activity {

private static final String TAG = "TestThreadPriority";

private boolean mNeedExit = false;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

MyThread a = new MyThread("Thread A");

a.setOSPriority(Process.THREAD_PRIORITY_LOWEST); // 19

a.setPriority(Thread.MAX_PRIORITY); // 10

MyThread b = new MyThread("Thread B");

b.setOSPriority(Process.THREAD_PRIORITY_URGENT_AUDIO); // -19

b.setPriority(Thread.MIN_PRIORITY); // 1

a.start();

b.start();

}

@Override

public void onBackPressed() {

mNeedExit = true;

super.onBackPressed();

}

private class MyThread extends Thread {

private int mOSPriority = Process.THREAD_PRIORITY_DEFAULT;

private int mLoopCount = 0;

public MyThread(String threadName) {

super(threadName);

}

public void setOSPriority(int p) {

mOSPriority = p;

}

@Override

public void run() {

Process.setThreadPriority(mOSPriority);

while (!mNeedExit) {

mLoopCount++;

Math.log(Math.random() * 1000); // calculation test

Log.d(TAG,

new StringBuilder().append(getName())

.append(" os priority: ").append(mOSPriority)

.append(" java priority: ")

.append(getPriority()).append(" loop count: ")

.append(mLoopCount).toString());

}

Log.d(TAG,

new StringBuilder().append(getName()).append(" exiting...")

.append(" os priority: ").append(mOSPriority)

.append(" java priority: ").append(getPriority())

.append(" loop count: ").append(mLoopCount)

.toString());

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值