Java线程总结(1)
2014-03-27 21:00
169 查看
1:线程VS进程
进程:处于运行中的程序,是系统资源进行资源分配和调度的独立单位:是系统级别的调用。
(PS:进程和程序的区别:程序是一个静态的指令集合,而进程是一个正在系统活动中的指令集合)
线程:程序运行的不同执行流:是应用程序级的调用。
本质区别:每个进程拥有自己的一套变量,而线程则是共享数据。
2:创建线程
(1):通过继承Thread类来创建线程
(2)通过实现Runable接口创建线程
演示结果:
(3)通过Callable和Future创建线程(带返回值)
*主线程结束后:其他线程不收任何影响,一旦子线程启动就拥有和主线程相同的位置。
3线程的控制
(1)jion()线程:一般不推荐
(2)设置后台线程
(3)sleep()线程:暂停当前线程,运行其他就绪状态的线程。类似(4)
(4)yeild线程():强制当前线程进入就绪状态,把线程运行的机会让给优先级高于他的线程。
4:线程之间的通讯
(线程状态的操作系统描述)
描述:
(1):new一个线程的时候线程位于就绪状态
(2)通过调用start()方法时候线程就位于运行状态
(3)线程阻塞,时间片到,使线程进入阻塞状态。
(线程状态的Java描述)
进程:处于运行中的程序,是系统资源进行资源分配和调度的独立单位:是系统级别的调用。
(PS:进程和程序的区别:程序是一个静态的指令集合,而进程是一个正在系统活动中的指令集合)
线程:程序运行的不同执行流:是应用程序级的调用。
本质区别:每个进程拥有自己的一套变量,而线程则是共享数据。
2:创建线程
(1):通过继承Thread类来创建线程
(2)通过实现Runable接口创建线程
演示结果:
(3)通过Callable和Future创建线程(带返回值)
*主线程结束后:其他线程不收任何影响,一旦子线程启动就拥有和主线程相同的位置。
3线程的控制
(1)jion()线程:一般不推荐
(2)设置后台线程
(3)sleep()线程:暂停当前线程,运行其他就绪状态的线程。类似(4)
(4)yeild线程():强制当前线程进入就绪状态,把线程运行的机会让给优先级高于他的线程。
4:线程之间的通讯
(线程状态的操作系统描述)
描述:
(1):new一个线程的时候线程位于就绪状态
(2)通过调用start()方法时候线程就位于运行状态
(3)线程阻塞,时间片到,使线程进入阻塞状态。
(线程状态的Java描述)
相关文章推荐