标签 ‘ monitor

监听器-java同步的基本思想

原文地址  作者: X Wang   译者:庞俊涛

如果你在大学学习过操作系统,你可能还记得监听器在操作系统中是很重要的概念。同样监听器在java同步机制中也有使用,本文通过类比的方法来解释“监听器”的基本思想。

什么是监听器?

监听器可以看成是包含了一间特殊房间的建筑,这间特殊的房间在同一个时间只能被一个客人(线程)拥有,通常这间房间包含了一些数据和代码。

Java-Monitor

如果一个客人想拥有这间特殊的房间,他不得不首先在走廊(进入集)中等待着,然后调度器根据一些调度算法(eg:FIFO 先进先出)选择一个。如果这个客人因为某些原因暂停悬挂着,则会被放到等待房间`,同时也被安排稍后重新进入这个特殊的房间,就像上面图片所展示的那样,在这个建筑里有个3个房间。

阅读全文

Java并发性和多线程介绍目录

concurrency

原文地址   译文地址  译者:张坤等

  1. Java并发性和多线程介绍
  2. 多线程的优点
  3. 多线程的代价
  4. 并发编程模型
  5. 如何创建并运行java线程
  6. 竞态条件与临界区
  7. 线程安全与共享资源
  8. 线程安全及不可变性
  9. Java内存模型
  10. JAVA同步块
  11. 线程通信
  12. Java ThreadLocal
  13. Thread Signaling (未翻译)
  14. 死锁
  15. 避免死锁
  16. 饥饿和公平
  17. 嵌套管程锁死
  18. Slipped Conditions
  19. Java中的锁
  20. Java中的读/写锁
  21. 重入锁死
  22. 信号量
  23. 阻塞队列
  24. 线程池
  25. CAS
  26. 剖析同步器
  27. 无阻塞算法
  28. 阿姆达尔定律

Java并发结构

原文链接:http://gee.cs.oswego.edu/dl/cpj/mechanics.html

作者:Doug Lea 译者:萧欢  校对:方腾飞

内容

  • 线程
  • 同步
  • 监视器

线程

线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统计和控制这种行为。

每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程。在Java虚拟机初始化过程中也可能启动其他的后台线程。这种线程的数目和种类因JVM的实现而异。然而所有用户级线程都是显式被构造并在主线程或者是其他用户线程中被启动。

这里对Thread类中的主要方法和属性以及一些使用注意事项作出总结。这些内容会在这本书(《Java Concurrency Constructs》)上进行进一步的讨论阐述。Java语言规范以及已发布的API文档中都会有更详细权威的描述。 阅读全文

return top