在解释这个概念之前,我们首先要知道,什么是进程? 进程是操作系统结构的基础,是一次程序的运行,是一个程序及数据在处理机上顺序执行时发生的活动,是程序在一个数据集合上运行的过程,它是进行系统资源分配调度的一个独立单位。 那么线程就很好理解了,线程是在进程中独立运行的子任务。
在这个实例中我们通过继承Thread类,重写它的,run()方法,调用Thread类中的start()方法,来创建一个线程。
在这里,我有了疑问,为什么要提出两种创建线程的方式?这两种方式又有什么不同?我们来看一下Thread这个类的源码。
原来,Thread类实现了Runnable接口,所以说,在原理上并没有什么不同,那么,为什么要这样做呢? 这样做是因为如果你定义的线程类继承了其他类,当你要继承Thread类时会报错,java不允许多继承,所以可以通过实现接口来实现。
新闻热点
疑难解答