- Mac OS X 背后的故事(一)力挽狂澜的Ellen Hancock
- Mac OS X 背后的故事(二)Linus Torvalds的短视
- Mac OS X 背后的故事(三)Mach之父Avie Tevanian
- Mac OS X 背后的故事(四)政客的跨界
- Mac OS X 背後的故事(五)Jean-Marie Hullot 的天才天才發明 Interface Builder
- Mac OS X 背后的故事(六)上善若水 Cordell Ratzlaff 引发的 Aqua 革命(上)
- Mac OS X 背後的故事(七)上善若水 Cordell Ratzlaff 引發的 Aqua 革命(下)
- Mac OS X 背後的故事(八)三好學生 Chris Lattner 的 LLVM 編譯工具鏈
- Mac OS X 背後的故事(九)半導體的豐收(上)
- [Mac OS X 背後的故事(十)半導體的豐收(中)](https
- Introduction to Functional Programming Johannes Weiß - https://vimeo.com/100786088
- ReactiveCocoa at MobiDevDay Andrew Sardone - https://vimeo.com/65637501
- The Future Of ReactiveCocoa Justin Spahr-Summers - https://www.youtube.com/watch?v=ICNjRS2X8WM
- Enemy of the State Justin Spahr-Summers - https://www.youtube.com/watch?v=7AqXBuJOJkY
- WWDC 2014 Session 229 - Advanced iOS Application Architecture and Patterns Andy Matuschak - https://developer.apple.com/videos/play/wwdc2014/229/
- Functioning as a Functionalist Andy Matuschak - https://www.youtube.com/watch?v=rJosPrqBqrA
- Controlling Complexity in Swift Andy Matuschak - https://realm.io/news/andy-matuschak-controlling-complexity/
The libdispatch is one of the most misused API due to the way it was presented to us when it was introduced and for many years after that, and due to the confusing documentation and API. This page is a compilation of important things to know if you're going to use this library. Many references are available at the end of this document pointing to comments from Apple's very own libdispatch maintainer (Pierre Habouzit).
My take-aways are:
-
You should create very few, long-lived, well-defined queues. These queues should be seen as execution contexts in your program (gui, background work, ...) that benefit from executing in parallel. An important thing to note is that if these queues are all active at once, you will get as many threads running. In most apps, you probably do not need to create more than 3 or 4 queues.
-
Go serial first, and as you find performance bottle necks, measure why, and if concurrency helps, apply with care, always validating under system pressure. Reuse