多线程程序设计要点:1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区.2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,'Ready' 表示线程正在等待CPU分配允许运行的时间.3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setPriority()方法设置优先级.4.我们无从知道一个线程什么时候运行,两个或多个线程在访问同一个资源时,需要synchronized5. 每个线程会注册自己,实际某处存在着对它的引用,因此,垃圾回收机制对它就"束手无策"了.6. Daemon线程区别一般线程之处是:主程序一旦结束,Daemon线程就会结束.
Java 多线程程序设计要点(synchronized) | AiJava 交流吧
来自:aijava.cn