Wondering, why don't people do it the other way around in Go:

```
t.memorySemaphore <- true
...
<-t.memorySemaphore
```

That way you wouldn't have to fill the semaphores in for-loops at the beginning, no?