记录下线程切换的问题

线程切换的2种方法:

thread.setPriority(Thread.MAX_PRIORITY);//1~10,通过线程设置
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);//-20~19,通过进程设置

这两种方法是相对独立的,在android中建议用使用process去设置,其中第二种方法可以通过线程ID去设置,如果不设置的话,默认是当前线程。

线程和进程的获取常用方式: android.os.Process
   获取当前进程ID:android.os.Process.myPid();
   获取当前进程的用户ID:android.os.Process.myUid();
   获取当前线程ID(1): Thread.currentThread().getId();
   获取当前线程ID(2): android.os.Process.myTid();
   获取应用主线程ID:Looper.getMainLooper().getThread().getId());
设置线程优先级常用方式
   设置当前线程优先级:setThreadPriority(int priority);
   设置指定线程优先级:setThreadPriority(int tid,int priority);
   获取指定线程优先级:getThreadPriority(int tid);
管理指定进程
   杀死指定的进程:killProcess(int pid);
   向指定的进程发送信号: sendSignal(int pid,int singal);
 

在Android app 开发当中,经常需要判断当前线程是否是主线程中,主要有一下几种方式:
使用Looper类判断:
Looper.myLooper() != Looper.getMainLooper()

通过查看Thread类的当前线程:
Thread.currentThread() == Looper.getMainLooper().getThread()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值