|
|
|
Singleton и потокобезопасность
|
|||
|---|---|---|---|
|
#18+
Потому что два потока, работая параллельно могут создать два экземпляра. А синглтон требует чтобы был один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 19:55 |
|
||
|
Singleton и потокобезопасность
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПотому что два потока, работая параллельно могут создать два экземпляра. А синглтон требует чтобы был один. Почему в первом случае не могут, а во втором могут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 20:02 |
|
||
|
Singleton и потокобезопасность
|
|||
|---|---|---|---|
|
#18+
giigro, потому что инстанс создается во время класслоадинга. А по спецификации JVM класслоадинг идет в одном потоке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 20:37 |
|
||
|
Singleton и потокобезопасность
|
|||
|---|---|---|---|
|
#18+
Не только два потока могут создать два объекта параллельно, но ещё и каждый заходящий в гетинстанс поток может создавать экземпляр для себя, так как отсутствует хэппэнз бефор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 22:39 |
|
||
|
Singleton и потокобезопасность
|
|||
|---|---|---|---|
|
#18+
giigroПривет всем. Объясните, почему первая реализация потокобезопасна, а вторая - нет. 1. Потому что класс пустой и конструктор никакой, потому если ссылка на него утечет раньше окончания конструктора ничего страшного не будет. 2. Уже объяснили - может оказаться две (или не две) ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 07:59 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39491980&tid=2122751]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 294ms |

| 0 / 0 |
