Cocoa Programming/Foundation Kit

The Foundation Kit is one of two frameworks or large collections of classes that comprise Cocoa. It provides classes for dealing with strings, collections, memory management, communication, threading, et cetera. Most of the functionality in a Cocoa application that is independent of the application's interface can be attributed to classes residing in the Foundation framework.

Foundation Locks
An NSLock object is provided as a less-portable alternative to using POSIX locks in the Cocoa Foundation Kit. A simpler alternative is to use the @synchronized Objective-C directive.