Controle de concorrência em C#: Semaphore e SemaphoreSlim