1.什么是进程?
进程是操作系统结构的基础;是一次程序的执行;
是一个程序及其数据在处理机上顺序执行时所发生的活动;
是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
2.什么是线程?
线程是进程中独立运行的子任务。
3.多线程的优点:可以大大提升系统的运行效率。
4.多线程的特点:多线程是异步的,不能把Eclipse里代码的顺序当做线程的执行顺序,线程被调用的时机是随机的。
5.如何使用多线程?
一、继承Thread类
二、实现Runnable接口(建议使用第二种方式)
下面就上面的两种方式简单测试多线程的使用:
通过继承Thread实现多线程:
package com.vhqimk.thread;
/*
* 通过继承Thread类实现多线程,并进行测试
*/
public class Test {
public static void main(String[] args) {
//生成一个MyThread实例myThread
MyThread myThread=new MyThread();
//将实例myThread分别加载到三个线程中
Thread t1=new Thread(myThread);
Thread t2=new Thread(myThread);
Thread t3=new Thread(myThread);
//启动三个线程
t1.start();
t2.start();
t3.start();
}
}
/*
* 通过继承Thread类实现多线程
*/
class MyThread extends Thread{
//重写run()方法
public void run()
{
//通过Thread.currentThread().getName()获取并输出当前线程的名
System.out.println("通过继承Thread类,实现多线程"+Thread.currentThread().getName());
}
}
通过实现接口实现多线程:
package com.vhqimk.thread;
/*
* 通过实现Runnable接口实现多线程,并进行测试
*/
public class Test {
public static void main(String[] args) {
//创建一个MyRunnable对象myRunnable
MyRunnable myRunnable=new MyRunnable();
//分别将对象myRunnable加载到三个不同线程
Thread t1=new Thread(myRunnable);
Thread t2=new Thread(myRunnable);
Thread t3=new Thread(myRunnable);
//启动三个线程
t1.start();
t2.start();
t3.start();
}
}
/*
* 通过实现Runnable接口实现多线程
*/
class MyRunnable implements Runnable{
//重写run()方法
public void run()
{
//通过Thread.currentThread().getName()获取并输出当前线程的名
System.out.println("通过实现Runnable接口实现多线程"+Thread.currentThread().getName());
}
}
特别提醒:虽然通过继承Thread类也能实现多继承,但通过继承Thread类来开发多线程应用程序在设计上是有局限性的,因为Java是单根继承,不支持多继承,而通过实现Runnable接口的方式来实现多线程则不受这方面的限制,因此建议使用第二种方式实现多线程。