android 线程优先级设置方法
来源:互联网 发布:python主要应用领域 编辑:程序博客网 时间:2024/05/17 22:45
转载自 http://zengyan2012.iteye.com/blog/1228770
android.os.Process.setThreadPriority (int priority)或
android.os.Process.setThreadPriority (int tid, int priority)
priority:【-20, 19】,高优先级 -> 低优先级.java.lang.Thread.setPriority (int priority)
priority:【1, 10】,低优先级 -> 高优先级.
测试后发现,使用android自己的API(第1种方法)设置的优先级,对线程调度影响显著.
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
- Android线程优先级设置方法
- Android线程优先级设置方法
- Android线程优先级设置方法
- Android 线程优先级设置方法
- Android 线程优先级设置方法
- Android 线程优先级设置方法
- Android 线程优先级设置方法
- android 线程优先级设置方法
- Android线程优先级设置方法技巧
- Android线程的优先级和设置方法
- Android线程优先级设置方法技巧
- android 线程优先级设置
- android 设置线程优先级
- Android线程优先级规定及其设置的具体方法
- android 设置线程的优先级
- java基础:线程方法之设置优先级
- (转)android 设置线程的优先级
- android 设置线程优先级 两种方式
- 高富帅
- 对象的筛选
- 异常java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- 自定义View之TitleBar
- 大脑记忆系统研究取得重大进展:或被用于开发新的芯片和操作系统
- android 线程优先级设置方法
- Cocos2d-x之CC_CALLBACK详解
- nodejs 自动重启服务 supervisor
- ping命令中请求超时是什么意思?
- Android第一周实习笔记
- 在CSDN查阅资料呢么久了,感觉还是自己开一个博客吧!
- 爬虫学习:一个管用的贴吧妹子图下载器
- 紫书 p59 习题3-8
- 深圳,新的开始。