记录下线程切换的问题

本文详细介绍了在Android开发中管理线程和进程的方法,包括线程优先级的设置、线程ID的获取以及如何判断当前线程是否为主线程。同时,提供了设置和获取线程优先级的API,以及如何管理和终止指定进程的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程切换的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、付费专栏及课程。

余额充值