Thread tips

来源:互联网 发布:恒生软件待遇 编辑:程序博客网 时间:2024/05/27 09:48
1,JMM为程序中所有的操作定义了一个偏序关系,称之为Happens-Before。如果两个操作之间缺乏Happens-Before关系,那么JVM可以对它们任意地重排序。
2,进入和退出同步代码块的字节指令也称为monitorenter和monitorexit,而java的内置锁也称为监视器锁或监视器。
3,通常,中断是实现取消的最合适方式。
4,这是Thread API的一个缺陷,因为无论join是否成功地完成,在Java内存模型中都会有内存可见性结果,但join本身不会返回某个状态表示它是否成功。
5,Java SE7中,fork/join框架被加到了java.util.concurrent包中。java.util.concurrent的Java SE5和Java SE6版本帮助处理并发,并且Java SE7的添加则帮助处理并行。
6,Runtime.getRuntime().availableProcessors()
7,在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整。在缺乏足够同步的多线程程序中,要想对内存操作的执行顺序进行判断,几乎无法得到正确的结论。
8,某个线程执行时,内存中的一份数据,会存放在该线程的工作存储中(working memory,是cache和寄存器的一个抽象),并在某个特定的时候回写到内存。
原创粉丝点击