├── .gitignore ├── LICENSE ├── README.md ├── Scenario1 ├── Item.h └── Item.m ├── Scenario2 ├── ItemAtomic.h └── ItemAtomic.m ├── Scenario3 ├── ItemLock.h └── ItemLock.m ├── Scenario4 ├── ItemSyncSelf.h └── ItemSyncSelf.m ├── Scenario5 ├── ItemSyncQueue.h └── ItemSyncQueue.m ├── Scenario6 ├── ItemAsyncSetter.h └── ItemAsyncSetter.m ├── Scenario7 ├── ItemBarrierAsyncSetter.h └── ItemBarrierAsyncSetter.m ├── ThreadSafeClassDesign.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata ├── ThreadSafeClassDesign ├── ItemProtocol.h └── main.m └── performance.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/README.md -------------------------------------------------------------------------------- /Scenario1/Item.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario1/Item.h -------------------------------------------------------------------------------- /Scenario1/Item.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario1/Item.m -------------------------------------------------------------------------------- /Scenario2/ItemAtomic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario2/ItemAtomic.h -------------------------------------------------------------------------------- /Scenario2/ItemAtomic.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario2/ItemAtomic.m -------------------------------------------------------------------------------- /Scenario3/ItemLock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario3/ItemLock.h -------------------------------------------------------------------------------- /Scenario3/ItemLock.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario3/ItemLock.m -------------------------------------------------------------------------------- /Scenario4/ItemSyncSelf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario4/ItemSyncSelf.h -------------------------------------------------------------------------------- /Scenario4/ItemSyncSelf.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario4/ItemSyncSelf.m -------------------------------------------------------------------------------- /Scenario5/ItemSyncQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario5/ItemSyncQueue.h -------------------------------------------------------------------------------- /Scenario5/ItemSyncQueue.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario5/ItemSyncQueue.m -------------------------------------------------------------------------------- /Scenario6/ItemAsyncSetter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario6/ItemAsyncSetter.h -------------------------------------------------------------------------------- /Scenario6/ItemAsyncSetter.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario6/ItemAsyncSetter.m -------------------------------------------------------------------------------- /Scenario7/ItemBarrierAsyncSetter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario7/ItemBarrierAsyncSetter.h -------------------------------------------------------------------------------- /Scenario7/ItemBarrierAsyncSetter.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/Scenario7/ItemBarrierAsyncSetter.m -------------------------------------------------------------------------------- /ThreadSafeClassDesign.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/ThreadSafeClassDesign.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /ThreadSafeClassDesign.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/ThreadSafeClassDesign.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /ThreadSafeClassDesign/ItemProtocol.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/ThreadSafeClassDesign/ItemProtocol.h -------------------------------------------------------------------------------- /ThreadSafeClassDesign/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/ThreadSafeClassDesign/main.m -------------------------------------------------------------------------------- /performance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiakai-lian/ThreadSafeClassDesign/HEAD/performance.png --------------------------------------------------------------------------------