- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android多线程详解
Thread类
常用方法
(1)public static?Thread?currentThread():返回当前调用的线程
(2)public final?String?getName():返回当前线程名称
(3)public long?getId():返回当前线程标识id
(4)public final void?setName(String?threadName):设置线程名称
(5)public void?start():执行一个新的线程
(6)public final void?stop():关闭一个线程,不推荐使用因为该方法可能会产生死锁,推荐使用在Thread中设置标识符结束运行的代码
(7)public static void?sleep(long?time):等待一段时间后在运行线程,单位是毫秒
进程概念
在同一时间内执行多个程序的操作系统都有进程的概念。一个进程就是一个执行中的程序,而每一个进程都有自己独立的一块内存空间、一组系统资源。在进程的概念中,每一个进程的内部数据和状态都是完全独立的。在Windows操作系统下我们可以通过〈Ctrl+Alt+Del〉组合键查看进程,在UNIX和Linux操作系统下是通过PS命令查看进程的。打开Windows当前运行的进程,如图
在Windows操作系统中一个进程就是一个exe或dll程序,它们相互独立,互相也可以通信,在Android操作系统中进程间的通信应用也是很多
Android空进程
线程概念
多线程指的是在单个程序中可以同时运行多个不同的线程,执行不同的任务。多线程意味着一个程序的多行语句可以看上去几乎在同一时间内同时运行。线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制。但与进程不同的是,同类的多个线程共享一块内存空间和一组系统资源,所以系统在各个线程之间切换时,资源占用要比进程小得多,正因如此,线程也被称为轻量级进程。一个进程中可以包含多个线程。如图所示是计时器程序进程和线程之间的关系,主线程负责管理子线程,即子线程的启动、挂起、停止等操作
Java中的线程
Java的线程类是 java.lang.Thread类。当生成一个Thread类的对象之后,一个新的线程就产生了。Java中每个线程都是通过某个特定Thread对象的方法run()来完成其操作的,方法run( )称为线程体
下面是构建线程类几种常用的方法:
public Thread()
public Thread(Runnable target)
public Thread(Runnable target, String name)
public Thread(String name)
参数 target 是一个实现Runnable接口的实例,它的作用是实现线程体的run()方法。目标target可为null,表示由本身实例来执行线程。name参数指定线程名字,但没有指定的构造方法,线程的名字是JVM分配的,例如JVM指定为thread-1、thread-2等名字
Handler处理Runnable线程
public class AppLoadingActivity extends BaseActivity {
? ? ? ? private Handler handler = new Handler();
? ? ? ? ?private Runnable updateThread = new Runnable() {?
? @Override
??public void run() {?
? ? ? ?线程运行的代码
? ?}
}
@Override
?protected void onCreate(Bundle savedInstanceState) {
? ?//向Handler中添加处理线程?
? ?handler.post(updateThread);
}
private void checkLogin() {
???//删除Handler中的线程
???handler.removeCallbacks(updateThread);
}
}
1、Java中的实现线程体方式
在Java中有两种方法实现线程体:一是继承线程类Thread,二是实现接口Runnable。下面我们先看看继承线程类Thread方式。
(1)继承线程类Thread
该方式继承线程类Thread并重写其中的方法 run(),在初始化这个类实例的时候,目标target可为null,表示由本实例来执行线程体。由于Java只支持单重继承,用这种方法定义的类不能再继承其他父类
import?java.io.BufferedReader;
im
文档评论(0)