一、进程与线程
1、进程与线程的理解
进程可以理解为一个个正在执行的应用程序,例如正在运行的QQ音乐、QQ等。
线程指的是进程中的执行单元。
注意:一个进程可以启动多个线程。
例子:我们的电脑在用QQ音乐播放音乐
其中,QQ音乐是我们的进程,若我们边放音乐边评论,那么放音乐是一个线程,写评论也是一个线程,两个线程可以同时进行互不干扰。
2、线程的创建与实现
(1)继承Thread类的方式
new继承线程的类。
调用线程对象的 start() 方法。
// 定义线程类
public class MyThread extends Thread{
public void run(){
}
}
// 创建线程对象
MyThread t = new MyThread();
// 启动线程。
t.start();
例子:
public class MyThread extends Thread {
private String name;
public MyThread() {
}
public MyThread(String name) {
this.name = name;
}
@Override
public void run() {
for (int i = 1; i <= 100; i++) {
System.out.println(name + "下载了" + i + "%");
}
}
}
(2)实现 Runnable 接口
编写一个类,实现 java.lang.Runnable
接口,实现run方法
。
-
怎么创建线程对象? new线程类传入可运行的类/接口。
-
怎么启动线程呢? 调用线程对象的
start()
方法。// 定义一个可运行的类 public class MyRunnable implements Runnable { public void run(){ } } // 创建线程对象 Thread t = new Thread(new MyRunnable()); // 启动线程 t.start();
例子:
public class MyRunable implements Runnable { private String name; public MyRunable() { } public MyRunable(String name) { this.name = name; } @Override public void run() { for (int i = 1; i <= 100; i++) { System.out.println(name + "下载了" + i + "%")