多线程
一个运行的程序通常就是一个进程,进程中的每个执行任务就是线程.
- 多线程
线程是对程序中进程的扩展应用. 由于系统中每个进程都是独立存在的实体,拥有自己独立的资源.而线程拥有自己的堆栈和局部变量,且与父进程下的线程共享进程中的所有资源.多线程这样的特性可以帮助我们实现更多的功能
线程的创建
下面来说说多线程的三种创建方式 :
继承Thread类-创建线程
通过继承Thread父类的方式创建线程.
//继承Thread类
Public class ThreadTest extends Thread
{
private int i ;
//重写run方法,填充线程执行方法
public void run ()
{
for ( i = 0 ; i < 10 ; i ++)
{
System.out.println("执行 "+ i)
}
}
public static void main(String[] args)
{
//创建线程
ThreadTest th = new ThreadTest();
//创建并启动第一个线程
th.start();
//创建并启动第二个线程
th.start();
}
}
实现Runnable接口与Callable接口-创建线程
通过实现Runnable接口的方式创建线程.
//继承Thread类
Public class ThreadTest implements Runnable
{
private int i ;
//重写run方法,填充线程执行方法
public void run ()
{
for ( i = 0 ; i < 10 ; i ++)
{
System.out.println("执行 "+ i)
}
}
public static void main(String[] args)
{
//创建线程
ThreadTest th = new ThreadTest();
//创建并启动第一个线程
new Thread(th,"线程1").start();
//创建并启动第二个线程
new Thread(th,"线程2").start();
}
}
创建方式对比
- Thread类
创建多线程最简单的实现方式,问题是线程类无法再继承其他类. - Runnable接口
创建方式稍复杂,可以继承其他类. - Callable接口
创建方式稍复杂,可以继承其他类.且方法可以有返回值,并声明抛出异常.
小结
多线程只是个基础的概念,但是合理的使用却可以帮助我们提高程序的整体体验,明天将继续对线程的内容进行整理,荣幸与您分享~