java并发新特性

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

某次执行的结果如下:

线程pool-1-thread-1获得许可:0

线程pool-1-thread-1释放许可:0

当前允许进入的任务个数:5

线程pool-1-thread-2获得许可:1

线程pool-1-thread-6获得许可:5

线程pool-1-thread-4获得许可:3

线程pool-1-thread-8获得许可:7

线程pool-1-thread-2释放许可:1

当前允许进入的任务个数:2

线程pool-1-thread-5获得许可:4

线程pool-1-thread-8释放许可:7

线程pool-1-thread-3获得许可:2

线程pool-1-thread-4释放许可:3

线程pool-1-thread-10获得许可:9

线程pool-1-thread-6释放许可:5

线程pool-1-thread-10释放许可:9

当前允许进入的任务个数:2

线程pool-1-thread-3释放许可:2

当前允许进入的任务个数:1

线程pool-1-thread-5释放许可:4

当前允许进入的任务个数:3

线程pool-1-thread-7获得许可:6

线程pool-1-thread-9获得许可:8

线程pool-1-thread-7释放许可:6

当前允许进入的任务个数:5

当前允许进入的任务个数:3

当前允许进入的任务个数:3

当前允许进入的任务个数:3

线程pool-1-thread-9释放许可:8

当前允许进入的任务个数:5

可以看出,Semaphore允许并发访问的任务数一直为5,当然,这里还很容易看出一点,就是Semaphore仅仅是对资源的并发访问的任务数进行监控,而不会保证线程安全,因此,在访问的时候,要自己控制线程的安全访问。

[1][2]

每当我看天的时候我就不喜欢再说话,每当我说话的时候我却敢看天。

java并发新特性

相关文章:

你感兴趣的文章:

标签云: