为什么要在小对象上同步?

尼古拉·库兹涅佐夫(Nikolay Kuznetsov)

Java性能中的同步块如何取决于执行同步的对象大小?

synchorized (lock) {
    //some code here
}

想象一下锁可能像以前一样new Object(),也可能是不可变类的实例,但是初始化了许多字段。

mxb

synchronized 由于对象是对象上的(小)信号量,因此不受对象大小的影响,性能问题与多个线程如何访问对象有关,换句话说,与应用程序的结构有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么要在冻结的对象上使用Object#clone?

来自分类Java

要在哪些对象上进行同步?为什么局部变量不好?

来自分类Java

为什么要在SynchronizedMap或SynchronizedCollections上进行同步?

来自分类Dev

为什么要在Ubuntu中同步我的Google帐户?

来自分类Dev

为什么未同步的对象比同步的对象性能更好?

来自分类Dev

为什么要在Play Framework中的Scala对象上使用@Singleton?

来自分类Dev

为什么要在主线程上订阅?

来自分类Java

为什么要在堆栈上使用Deque?

来自分类Dev

为什么要在pbuilder上使用sbuild?

来自分类Dev

为什么要在memset上使用bzero?

来自分类Dev

为什么要在Dict上使用HashDict?

来自分类Dev

为什么仍然可以操纵同步对象

来自分类Dev

对象上的Java同步。为什么没有这种僵局?

来自分类Dev

什么是gvfs,为什么要在我的系统上使用它?

来自分类Dev

JVM为什么要在内存中重定位对象?

来自分类Dev

为什么要在条带化充电之前创建客户对象?

来自分类Dev

为什么要在变量中存储Promise对象?

来自分类Java

为什么在原始类型中投射方向从大到小而在对象上从小到大?

来自分类Dev

为什么要在void上使用int函数?

来自分类Dev

为什么要在ThreadLocal上使用数据插槽?

来自分类Dev

为什么要在<html>元素上设置零边距?

来自分类Java

为什么要在Java / Spring上使用Scala / Lift?

来自分类Javascript

为什么要在object.freeze上使用immutablejs?

来自分类Dev

MinMaxScaler为什么要在图像上添加线条?

来自分类Dev

sudoedit:为什么要在sudo vi上使用它?

来自分类Dev

为什么要在诸如Postgres的RDBMS上使用Parquet

来自分类Dev

为什么要在结构上使用&符号?

来自分类Python

为什么要在easy_install上使用pip?

来自分类Dev

Android为什么要在singleTask或singleInstance上启动多个实例?

Related 相关文章

  1. 1

    为什么要在冻结的对象上使用Object#clone?

  2. 2

    要在哪些对象上进行同步?为什么局部变量不好?

  3. 3

    为什么要在SynchronizedMap或SynchronizedCollections上进行同步?

  4. 4

    为什么要在Ubuntu中同步我的Google帐户?

  5. 5

    为什么未同步的对象比同步的对象性能更好?

  6. 6

    为什么要在Play Framework中的Scala对象上使用@Singleton?

  7. 7

    为什么要在主线程上订阅?

  8. 8

    为什么要在堆栈上使用Deque?

  9. 9

    为什么要在pbuilder上使用sbuild?

  10. 10

    为什么要在memset上使用bzero?

  11. 11

    为什么要在Dict上使用HashDict?

  12. 12

    为什么仍然可以操纵同步对象

  13. 13

    对象上的Java同步。为什么没有这种僵局?

  14. 14

    什么是gvfs,为什么要在我的系统上使用它?

  15. 15

    JVM为什么要在内存中重定位对象?

  16. 16

    为什么要在条带化充电之前创建客户对象?

  17. 17

    为什么要在变量中存储Promise对象?

  18. 18

    为什么在原始类型中投射方向从大到小而在对象上从小到大?

  19. 19

    为什么要在void上使用int函数?

  20. 20

    为什么要在ThreadLocal上使用数据插槽?

  21. 21

    为什么要在<html>元素上设置零边距?

  22. 22

    为什么要在Java / Spring上使用Scala / Lift?

  23. 23

    为什么要在object.freeze上使用immutablejs?

  24. 24

    MinMaxScaler为什么要在图像上添加线条?

  25. 25

    sudoedit:为什么要在sudo vi上使用它?

  26. 26

    为什么要在诸如Postgres的RDBMS上使用Parquet

  27. 27

    为什么要在结构上使用&符号?

  28. 28

    为什么要在easy_install上使用pip?

  29. 29

    Android为什么要在singleTask或singleInstance上启动多个实例?

热门标签

归档