Have to give it to Apple for acknowledging the difficulty in writing responsive (as in no lockups) applications and designing multiple developer framework solutions to solve it (Grand Central Dispatch and NSOperationQueue).

Both those are designed to enable developers to easily offload work to background threads and prioritise queued work for the user. No open-for-interpretation thread priorities, but named QoS priorities (User Interactive, User Initiated, Utility and Background). It makes much more sense for that abstraction.

We just need more developers to make use of it.

Maybe more developers would make use of it if it was open source, existed for other platforms, and available for languages people actually use on those other platforms.

GCD is. NSOperationQueue is too tightly coupled to Foundation to be useful/relevant on other platforms.

It looks like there's a working GCD port for Linux in https://github.com/apple/swift-corelibs-libdispatch