Java并发编程实战的笔记(73)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • Sam哥哥

    Sam哥哥 (运动是所有事情的基本)

    1、内置锁是保证操作原子性的一种手段。 2、被synchronize包住的代码块被一个锁保护着,进入代码块的线程必须获得锁才能进入。 默认情况下,如果不为synchronize关键字指定对应的锁的话,synchronize就以所属的对象作为锁 3、当使用synchronize的时候,如果另外一个线程没法获得锁,它就只能等待或者阻塞, 由此会带来上下文切换的开销,CPU利用率很低。

    2017-02-03 19:21   3人喜欢

  • peiyuc

    peiyuc

    final域能确保初始化过程的安全性,从而可以不受限制的访问不可变对象,并在共享这些对象时无需同步。 该节对于final的安全初始化只是一句话带过,并没有详细描述final关键的内存语义。导致后面对类的不变性认识有偏差。 文章理解java内存模型http://www.infoq.com/cn/minibooks/java_memory_model有详细的讲解final的内存语义和实现方法 final域可以确保对象在对别的线程可见之前,域已初始化完成;普通域不能保证这一点

    2016-07-22 19:33   1人喜欢

  • 2sin18°

    2sin18° (维天之命,于穆不已)

    1 对象尽可能封闭在线程内部,可以用栈封闭、ThreadLocal 等方式 2 对于不可变对象,如所有字段都是final,创建后不被修改,构造函数也没有泄漏引用的对象,可以在线程间安全地传递 3 对于事实不可变对象,可以通过static 声明中初始化,或引用保存在volatile、atomicReference、final引用、锁保护域、线程安全容器(SynchronizedMap、ConcurrentMap、BlockingQueue、ConcurrentLinkedList)中。 4 对于可变对象,除了类似于事..

    2014-11-01 16:19   1人喜欢

  • 红色有角F叔

    红色有角F叔 (次元の呪い)

    对于计算密集的任务,在拥有 N 个处理器的系统上,当线程池大小为 N+1 时,通常能实现最优的利用率。(即使当计算密集型的线程偶尔由于页缺失故障或者其它原因而暂停时,这个“额外”的线程也能确保 CPU 的时钟周期不会被浪费。)对于包含 I/O 操作或者其它阻塞操作的任务,由于线程并不会一直执行,因此线程池的规模应该更大。 计算每个任务对该资源的需求量,然后用该资源的可用总量除以每个任务的需求量,所得结果就是线程池...   (6回应)

    2014-05-31 12:32   1人喜欢

  • 红色有角F叔

    红色有角F叔 (次元の呪い)

    当满足以下条件时,对象才是不可变的: - 对象创建以后其状态就不可修改 - 对象的所有域都是 final 类型 - 对象时正确创建的(在对象的构造期间,this 引用没有逸出) 从技术上来看,不可变对象并不需要将其所有的域都声明为 final 类型,例如 String 就是这种情况,这就要对类的良性数据竞争情况做精确的分析,因此需要深入理解 Java 的内存模型。... 自己在编码时不要这么做。 没错,内存模型并不是为业务程序员准备..

    2014-05-09 00:07   1人喜欢

  • 红色有角F叔

    红色有角F叔 (次元の呪い)

    加锁机制既可以确保可见性又可以确保原子性,而 volatile 变量只能确保可见性。 当且仅当满足以下所有条件时,才应该使用 volatile 变量: - 对变量的写入操作不依赖变量的当前值,或者你能确保只有单个线程更新变量的值。 - 该变量不会与其它状态变量一起纳入到不变性条件中。 - 在访问变量时不需要加锁。   (20回应)

    2014-05-07 09:42   1人喜欢

  • yatasoft

    yatasoft

    8线程池的使用 解耦任务和执行策略---Executor 以下任务不太适用线程池,任务不独立,有依赖外部,线程安全依赖线程封闭技巧的任务,对响应时间敏感的任务,使用ThreadLocal的任务

    2013-01-14 14:59   1人喜欢

  • 远在天边ls

    远在天边ls

    执行任务 /代码内容已省略/

    2012-05-23 22:19   1人喜欢

  • OkabeRintarou

    OkabeRintarou

    名字比较古怪,其实就是指让程序员保证一个对象的引用只能封闭在特定的线程而不会从线程中逸出。

    2018-07-15 13:47

  • 子莒

    子莒

    2018-05-24 20:23

<前页 1 2 3 4 5 6 7 8 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Java并发编程实战

>Java并发编程实战