1、操作系统能同时运行多个应用程序,每个应用程序就是一个进程
一个进程可以同时运行多个线程,每个线程负责处理一个任务
2、线程的功能:一个应用程序可以同时去完成多个功能
3、应用程序启动后,会自动创建一个主线程(Android中叫UI线程),其他的线程都称之子线程
4、线程创建线程:
A、创建一个类继承自Thread或者实现Runnable接口,他们都需要重写run()方法,该方法是线程的主体,功能代码必须放在run()方法
B、调用Thread的start()方法启动线程,该方法会自动调用run()方法,run()方法中的代码执行结束后,线程会自动销毁
C、线程对象不能重复启动,比较下面的写法
Thread t = new Thread();
t.start();
t.start();
上面写法错误,因为线程完成后会销毁,所以不能重复调用start()
----------------
线程启动之前一定要先创建
new Thread().start();
new Thread().start();
5、创建线程的方法
A、继承Thread类,该方法用得比较少
public class MyThread extends Thread{
public void run(){
Thread.sleep(1000);//休眠
}
}
MyThread t = new MyThread();
t.start();
B、实现Runnable接口,99%的时候都用此方法
public class MyThread implements Runnable{
public void run(){
Thread.sleep(1000);
}
}
Thread t = new Thread(new MyThread());
t.start();
案例1:在应用程序中,两个任务同时运行,一个是显示时钟,另一个显示偶数。
public class EvenTask implements Runnable{
@Override
public void run() {
for(int i = 0; i < 100; i ++){
if(i % 2 == 0){
System.out.println(i);
}
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class TimeTask implements Runnable{
private Date now = new Date();
@Override
public void run