一. 进程与线程:
进程:
1.指在运行中的程序,例如使用微信就启动一个进程,操作系统就会为 该进程分配内存空间;
2.进程是程序的一次执行的过程,或者是正在运行的一个程序;是动态过程,有它自身的产生、存在和消亡的过程。
线程:
1.线程由进程创建的,是进程的一个实体;
2.一个进程可以拥有多个线程;
3.单线程:同一时刻,只允许执行一个线程;
4.多线程:同一时刻,可以执行多个线程。
多线程:多线程是指一个进程在执行过程中可以产生多个线程,这些线程可以同时存在、同时运行,形成多条执行线。
二. 实现Runnable接口
写一个类去实现Runnable接口,重写其中的run()方法;用用实现Runnable接口的对象作为参数实例化一个Thread对象,调用Thread类的start()方法来启动线程。
实现Runnable接口比继承Thread类所具有的优势:
- 适合多个相同的程序代码的线程去共享同一个资源。
- 可以避免java中的单继承的局限性。
- 增加程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和线程独立。
- 线程池只能放入实现Runable或Callable类线程,不能直接放入继承Thread的类。
public class MyRunnable implements Runnable {
@Override
public void run(){
//线程需要完成的任务
for (int i = 1; i <=10 ; i++) {
System.out.println(Thread.currentThread().getName()+":输出"+i);
}