java基础学习笔记之九--线程(1)

Athreadis a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently

--Java API

***线程

程序在主线程中是顺序执行的,如果没有加入其它线程,程序只有一条执行路径。
线程是一个程序内部不同的执行路径。

在同一个时间点,一个内核的cpu只支持一个进程的执行,
cpu给每个进程分配了时间片,一会执行这个,一会执行那个
但是因为它很快,让人感觉是同时执行的。


***java实现线程的方式
1.继承Thread抽象类,重写run()方法,使用时,
直接new XXthread,同时用start()方法启动线程

2.实现Runnable接口,重写run()方法,使用时,
使用new Thread(new XRunnable)生成线程对象,
用start()方法启动该线程。

***备注:用那种方式好?
1.java只能继承一个类,但是能够实现多个接口
2.用接口的方式好一些,因为继承类的方式相对死一些,
实现接口相对灵活,在实现这个接口的同时,可以再
继承其他类,实现其他接口,扩展程序功能。

***线程状态
1.创建线程 new Thread
2.进入就绪状态(排队) start()
3.运行状态--分到时间片
4.遇到阻塞事件(比如:时间片用完,程序还没有执行完)
进入阻塞状态,再次排队,3,4步骤不断循环

5.终止


你可能感兴趣的:(java基础)