多线程

java 类库中与多线程相关的类不是很多,主要有: Thread 、 ThreadGroup 以及 ThreadLocal 和 InheritableThreadLocal 四个类和一个 Runnable 接口;关键字 synchronize 、 volatile ;以及 Object 对象的 wait 、 notify 、 notifyAll 方法!

1           Thread 是多线程的核心类,提供了一系列创建和操作多线程的方法。

2           ThreadGroup 是一个管理 Thread 的工具类。

3           ThreadLocal 和 InheritableThreadLocal 为 Thread 提供了一个类似保险箱功能的存储线程对象的类!

4           Runnable 不用说了吧!

5           synchronize 是同步方法和同步块的核心哦!多个线程调用此方法时,只有一个线程可以使用此方法,其它方法阻塞,从而保证被操作对象内部状态完整性。某个线程调用带有 synchronize 的方法或块时会得到该对象的对象锁,完成块中的操作后释放此对象锁,从而其它对象可以继续操作。

6           wait 、 notify 、 notifyAll 提供了有效的等待 / 通知机制。 Java 语言中每一个对象都有一个休息室,任何线程在其操作的对象的状态不满足的情况下,在该对象的休息室中休息,释放对象锁;当其它线程操作该对象后,唤醒休息室中的线程,它们再检查条件,当条件满足后,执行相应的操作。

    多线程大致就这么多基础的!简单吗!这对于一个真正的程序员应该是不够的,真正对多线程要有所掌握,请您研究 java.util.concurrent 包吧!大师 Doug Lea 的作品,原先是一个开源的一致性编程的库,后来被 Sun 公司并入 java 类库。作者的网站上也有另外一个版本的该类库!值得研究的好东西 !Hibernation 、 OpenJMS 等开源软件都使用了此包!

待完善

你可能感兴趣的:(多线程,thread,编程,sun)