今天时间学习Semaphore api,该类是JUC原子包中的类,通过单元测试代码把所有public api方法跑了一遍,大致了解了底层实现,初学乍练,有很多一知半解的地方,待后续有了深入理解再来补充
package test.java.util.concurrent;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
/**
* Semaphore的测试类
*
* @date 2020-07-28 20:41:21
*/
public class SemaphoreTest {
/**
* 通过指定信号数量初始化信号量
* @Param
*/
@Test
public void testConstruct0()throws Exception{
Semaphore testObj=new Semaphore(3);
testObj.acquire();
testObj.acquire();
System.out.println(testObj.toString());
}
/**
* 通过指定信号数量初始化信号量,true为公平锁,false为非公平锁
* @Param
*/
@Test
public void testConstruct1()throws Exception{
Semaphore testObj=new Semaphore(3,false);
testObj.acquire();