【単一不可分(アトミック)】
単一の操作で不可分なので、その操作は分けられません。
以下は、アトミックでは無い操作。
①read-modify-write
②check-then-act
①は、index++みたいなやつ。
この操作は、実際には以下の3つの操作をしています。
1、indexの値を取得
2、値を書き換え(1加算)
3、indexに書き込みます。
このように、複数回の操作をすることは、単一不可分では無いと言います。
じゃあ、どうするの?というと、単純に言えば同期すれば、この1、2、3が
1回の操作として実行されます。
これを単一不可分な操作という。つまり、アトミックです。
【逸出】
公開すべきでは無いオブジェクトが公開される事。
【不可変】
オブジェクトが不可変であるとは、、、
→コンストラクション後、ステートの変更ができない
→すべてのフィールドがfinalで、コンストラクション時にthis参照が逸出しない
という事です。
余談(?)ですが、コンパイラが最適化をすると、同期しないと実行順序が意図しない順序に変わる可能性があります。
ラベル
RoR
WSUS
MECM
SCCM
環境構築
WindowsServer2016
更新プログラム
Python
Eclipse
GAE
Macports
AWS
Django
GoCilpse
Hibernate
PeerCache
SQL
SSL
SchUseStrongCrypto
TLS
VPN
WindowsServer2019
bootstrap
emacs
gcc
git
go
haml
react
AmazonSES
Apache Derby
BranchCache
CB2207
CleanCode
Database
Defender
DeltaDownload
Edge
EffectiveJava
GPO
MAILER-DAMON
MCM
RC4
RDS
Report
ReportingServices
Route53
SQLServer2017
Spring
StreamCipher
SupportBlog
Vagrant
Wireshark
WorkMail
Xcode
amazon
android
ccmcache
certificate
gdb
golang
oauth
pg
registry
sup
w3wp
webapp
イネーブルメントパッケージ
インプレースアップグレード
バージョン管理
帯域外リリース
有効化パッケージ
東プレ
配布ポイント
0 件のコメント:
コメントを投稿