Multitasking allows multiple tasks to share system resources like the CPU by rapidly switching between tasks. In iOS, multithreading uses either Cocoa threads via the NSThread class or POSIX threads. Threads offer advantages like lower overhead than processes but also challenges like added complexity. Common threading techniques include atomic operations, locks, conditions, and Grand Central Dispatch which handles scheduling tasks across threads.