First draft example for SemaphoreLock

Shows how to do simple async task mutual exclusion with the lock
keyword.
Second example - concurrent download limits
Third example - now with SemaphoreLock
Fourth example - file writes also SemaphoreLocked