alphaのjava備忘録

alphaが勉強したことを書いていくブログ

スレッドセーフでないコードで異常を起こすには

ここのところThreadを使用する方法について勉強しててイマイチ理解できなかったのが「スレッドセーフ」という言葉。

あるコードがスレッドセーフであるという場合、そのコードを複数のスレッドが同時並行的に実行しても問題が発生しないことを意味する。 特に、ある共有データへの複数のスレッドによるアクセスがあるとき、一度に1つのスレッドのみがその共有データにアクセスするようにして安全性を確保しなければならない。

スレッドセーフ - Wikipedia

つまりスレッドセーフでないコードを書いて複数のスレッドを使用すると、値や出力に異常が起こる問題が起こる「かも」しれないらしい。と言っても正直実例がないとよく分からない。。。なので今回は敢えてスレッドセーフ「でない」コードを書いて異常を起こしてみることにする。

StringBuilderであれが発生するみたいね
ちなみに参考にしたのがこの記事!ほぼ同じ内容だけど....まだ応用を書けるほどの理解はないのじゃ、、、
totech.hateblo.jp