Title: Theory / Important / CS / Programming / Objective-C / Documentation / Concurrency
On every note of this deck, unless a note says otherwise:
Page: https://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/Glossary/Glossary.html

Typ: returnType (^)(argType_1, ..., argType_n)
Meaning: A block taking n arguments of type argType_1, ..., argType_n and returning returnType
Page: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html
https://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40007502
Language: Objective-C
Implementation: A reference to both a function pointer and capture the values to execute the method
Name: block object

Name: Single task thread
Definition: A thread that perform a single task and release the thread when the task is done
Page: https://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/ThreadMigration/ThreadMigration.html
Context: Objective-C

Name: An application
Definition: A specific style of program that displays a graphical interface to the user.
Context: Objective-C

Name: Asynchronous design approach
Definition: The principle of organizing an application around blocks of code that can be run concurrently with an application’s main thread or other threads of execution. Asynchronous tasks are started by one thread but actually run on a different thread, taking advantage of additional processor resources to finish their work more quickly.
Context: Objective-C

Name: A concurrent operation
Definition: An operation object that does not perform its task in the thread from which its start method was called.
Context: Objective-C
Extra: A concurrent operation typically sets up its own thread or calls an interface that sets up a separate thread on which to perform the work.

Name: A condition
Definition: A construct used to synchronize access to a resource.
Context: Objective-C
Extra: A thread waiting on a condition is not allowed to proceed until another thread explicitly signals the condition.

Name: A critical section
Definition: A portion of code that must be executed by only one thread at a time.
Context: Objective-C

Name: A descriptor
Definition: An abstract identifier used to access a file, socket, or other system resource.
Context: Objective-C

Name: Input source
Definition: A source of asynchronous events for a thread. Input sources can be port based or manually triggered and must be attached to the thread’s run loop.
Context: Objective-C

Name: Main thread
Definition: A special type of thread created when its owning process is created. When the main thread of a program exits, the process ends.
Context: Objective-C

Meaning: wrap the code and data associated with a task into an executable unit.
Page: https://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/Glossary/Glossary.html
Language: Objective-C
Subtype of: NSObject
Name: Operation object

Name: Program
Definition: A combination of code and resources that can be run to perform some task.
Context: Objective-C

Name: Reentrant
Definition: Code that can be started on a new thread safely while it is already running on another thread.
Context: Objective-C

Name: Run loop mode
Definition: A collection of input sources, timer sources, and run loop observers associated with a particular name. When run in a specific “mode,” a run loop monitors only the sources and observers associated with that mode.
Context: Objective-C

Name: Run loop object
Definition: An instance of the NSRunLoop class or CFRunLoopRef opaque type. These objects provide the interface for implementing an event-processing loop in a thread.
Context: Objective-C

Name: Run loop observer
Definition: A recipient of notifications during different phases of a run loop’s execution.
Context: Objective-C

Name: A thread
Definition: A flow of execution in a process. Each thread has its own stack space but otherwise shares memory with other threads in the same process.
Context: Objective-C