线程知识点
1、Java程序的并发机制是多线程。
2、Java中的线程由三部分组成,虚拟机的CPU,封装在Java.lang.Thread类中;CPU所执行的代码,传递给Thread类;CPU所处理的数据,传递给Thread类。
3、Java中的线程体是由线程类的run()方法定义,该方法定义线程的具体行为。
4、具有相同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行,有具体的JVM而定。
5.sleep()使比其优先级低的线程运行,让程序挂起一段时间,使其他的线程得到执行的机会,一旦计时器结束计数,就立即可以投入运行。被调用后,一定使线程改变当前状态。
yield()只让给同优先级运行,如果没有同等优先级的线程等待执行,可能在进入到可执行状态后马上又被执行。如果调用yield(),不能保证使该线程停止运行。
join()方法使当前的线程等待,直到 t 结束为止。
6、线程的生命周期有6个状态:新建状态(new)、可运行状态(run)、阻塞状态、休眠状态(Sleep)、等待状态wait()、终止状态(Blocked)。
7、在Java语言中提供两种创建线程的方法:通过继承Thread类创建线程;通过实现Runnable接口来创建线程。
8、在多线程并发程序设计中,能够给对象X加锁的语句是synchronized(x)