1、Java线程的几种状态:NEW/RUNNABLE/RUNING/BLOCKED/TEMINATED

2、java线程是一个典型的模板设计模式

3、创建线程的两种方式:

1)thread类

2)实现RUNANBLE接口

thread和runnable的区别:thread负责线程本身相关的职责和管理(比如编号、优先级等)、而runnable则负责逻辑执行单元的部分!

4、sleep不会放弃monitor锁的所有权!

5、yield把running切换到runnable。主动放弃CPU资源

6、interrupt会让线程进入blocked状态

7、join方法收集所有分布式线程的结果到一起!

8、关注如何优雅的关闭一个线程!使用锁??

9、wait/notify用于一对一线程单线程之间的通信,wait/notisfyall用于多对多多线程之间的通信。其中notisfy能同时唤起所有的阻塞阻塞去争取锁!

10、线程之间的通信使用队列的wait、notify、notifyall来控制

11、进程之间的异步通信使用MQ消息队列中间件来控制!

12、synchronized锁关键字!争取monitor锁!

13、使用Java JDK提供的current包来进行多线程编程!注意线程池各种使用,另外也要注意funtur模式,如何把所有多线程的数据组合起来!!

10-04 17:31