Golang - Threading Utils Channel prevent firing empty channel context to channel waiting Thread safe variables Queue General purpose and cancelable function specific queues Indexes Eviction policies Capacity limit stoppable function secure timer