Which of the following statements are true?
◦ You can create a Semaphore with a specified number of permits.
◦ After finishing with the resource, the thread must return the permit back to the semaphore.
◦ Semaphores can be used to restrict the number of threads that access a shared resource.
◦ Before accessing the resource, a thread must acquire a permit from the semaphore.