object-c - @property のアトミック キーワードの理解についていくつか質問したいと思います。
大家讲道理
大家讲道理 2017-05-02 09:29:14
0
2
607

1. マルチスレッドの安全性を学ぶとき、複数のスレッドが同時に実行されるときに、同じリソースへの「同時」アクセスを避けるために同期ロックを使用することを学びました。以前アトミックを学習していたときに、このキーワードはプロパティがスレッドセーフかどうかを設定するために使用されることを思い出しました。そこで、プログラムで同期ロックをオフにし、上記のキーワードを使用してプロパティを定義しましたが、マルチスレッド操作を実行した後、この設定ではスレッド セーフが実現されないことがわかりました。 私の理解のどこが間違っているのか聞いてもいいですか?

私のプログラムコードは次のとおりです:

リーリー

以下は出力の一部です: 2 つの 98 が出力されることに注意してください

リーリー
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(2)
小葫芦

_totalTicket-- は、次のように setter getter メソッドを介さずにインスタンス変数を直接操作し、属性にアトミック属性を追加します。これは、スレッドの安全性を確保するために属性の読み書き時にロックされます # 🎜🎜# リーリー

したがって、アクセスするには . 構文を使用する必要があります。ただし、アトミックは完全にスレッドセーフというわけではありません

関連情報

いいねを押す +0
我想大声告诉你

ああ。ご回答ありがとうございます。このアトミックはちょっと物足りない気がします。よく見てますよ。ありがとう!

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート