请用五个句子回答：请解释一下信号量是如何运作的？
user
信号量是一种同步工具，它通过一个计数器来控制对共享资源的访问。当一个线程需要访问资源时，它必须获取信号量，这会减少计数器的值。如果计数器大于零，线程可以继续执行；如果计数器为零，线程将被阻塞。当线程完成对资源的使用后，它会释放信号量，增加计数器的值，从而允许其他线程获取信号量并访问资源。通过这种方式，信号量确保了共享资源的互斥访问和有序使用。
assistant