Java并发小结
返回主页
一、简述并发特点
- 用并发解决的问题大体上可以分为:速度、设计可管理性
- 并发通常是提高运行在单处理器上的程序的性能
- Java的线程机制是抢占式的
二、定义任务
- 线程可以驱动任务
描述任务的方式由Runnable接口提供,实现Runnable接口并编写run()方法 - 通常,run()方法被写成 无限循环形式,这就意味着,除非有某个条件使得run()终止,否则,其将一直运行下去
- Thread.yield()构造器
调度是对线程调度器的一种建议,它在声明:可以将CPU从一个线程转移到另一个进程 - 从Runnable()导出一个类时,它必须具有run()方法,但是这个方法并无特殊之处,它不会产生任何内在的线程能力。要实现线程行为,你必须显式地将一个任务附着在线程上;
三、Thread类
- 将Runnable()对象转变为工作任务的传统方式是把它提交给一个Thread构造器
- Thread构造器只需要一个Runnable()对象,调用Thread对象的start()方法为该线程执行必需的初始化操作,然后调用Runnable的run()方法,以便在这个新线程中启动该任务。
- 任何线程可以启动另一个线程,不局限于main线程;
- 每个Thread都注册了自己,因此确实有一个对其的引用,而且,在它的任务退出其run()并死亡前,GC无法清除。
一个线程会创建一个单独的执行线程
在对start()的调用完成之后,它依旧会继续存在
四、关于优先级
优先级不会导致死锁