在应用程序中,不同的程序块也是可以同时运行的,这种多个程序块同时运行的现象被称作并发执行。
1.线程的概述
进程:正在进行中的程序
在计算机中,所有的应用程序都是由CPU执行的,对于一个CPU而言,在某个时间点只能运行一个程序,也就是说只能执行一个进程。由于CPU运行速度很快,能在极短的时间内在不同的进程之间进行切换,所以给人以同时执行多个程序的感觉。
线程:
1):就是进程中一个负责程序执行的控制单元(执行路径)
2):一个进程中可以多执行路径,称之为多线程
3):一个进程中至少要有一个线程,开启多个线程是为了同时运行多部分代码。
4):多线程程序在运行时,每个线程之间都是独立的,它们可以并发执行。
2.线程的创建
两种创建线程的方式
1):继承java.lang包下的Thread类,覆写Thread类的run()方法,在run( )方法中实现在线程上的代码
1.1定义一个类继承Thread
1.2重写run方法
1.3创建子类对象,就是创建线程对象
1.4在Thread类中,提供了一个start()方法用于启动新线程,线程启动后,系统会自动调用run()方法。
1.5线程对象调用run方法和调用start方法的区别?
答:调用run方法不开启线程,仅是对象调用方法,调用start方法开启线程,并让jvm调用run方法在开启的线程中执行
2):实现java.lang.Runnable接口,同样是在run( )方法中实现运行在线程上的代码。
2.1实现Runnable接口,避免了继承Thread类的单继承局限性
2.2覆盖接口中的run方法,将线程任务代码定义到run方法中
<