一、多线程
1.1线程简介
同时完成很多工作的思想放在java中被称为并发,而将并发完成的每一件事情称为线程。
在Java中并发机制非常重要,但不是所有的程序语言都支持线程。在以往的程序中,多以一个任务完成后再进行下一个项目的模式开发,这样下一个任务的开始必须等待前一个任务的结束。 Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发进行,这种机制被称为多线程。
多线程在Windows操作系统的工作方式:
Windows操作系统是多任务操作系统,他以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称之为进程。系统分配给每个进程一段有限的使用CPU的时间(也可以称为CPU时间片),CPU在这段时间中执行某个进程,然后下一个时间片有跳至另一个进程中去执行。由于CPU转换较快,所以使得每个进程好像同时执行一样。
1.2 实现线程的两种方式
在Java中主要提供两种方式实现线程,分别为继承java.lang.Thread类与实现java.lang.Runnable接口。
1.2.1 继承Thread类
Thread类是java.lang 包中的一个类,从这个类中实例化的对象表示线程,程序员启动一个新线程需要建立Thread实例。Thread类中常用的两个构造方法如下:
- [✔] public Thread(); 创建一个新的线程对象
- [✔] public Thread(String threadName): 创建一个名为threadName的线程对象
继承Thread类创建一个新的线程的语法如下:
public class ThreadTest extends Thread{
}
完成线程真正功能的代码放在类的run()方法中,当一个类继承Thread类后,就可以在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread类中的start()方法执行线程,也就是调用run()方法。
Thread对象需要一个任务来执行,任务是指线程在启动时执行的工作,该工作的功能代码被写在run()方法中。run()方法必须使用一下语法格式:
public void run(){
}