Java 线程技术之同步计数器Semaphore

简介: 用于线程池,连接池, 处理完之后,才允许下一个操作的。

用于线程池,连接池,

处理完之后,才允许下一个操作的。


eb77214f371095c782557aca30de7a4597e3ac2a

package demo.thread;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Semaphore;

public class ThreadMain {
	public static void main(String[] args) throws Exception {
		final Semaphore sema = new Semaphore(3);
		for (int i = 0; i < 10; i++) {
			final int no = i;
			Runnable thread = new Runnable() {
				public void run() {
					try {
						System.out.println("用户 " + no + "连接上了: ");
						Thread.sleep(300L);
						sema.acquire();
						System.out.println("用户 " + no + "开始访问后台程序...");
						Thread.sleep(1000L);
						sema.release();
						System.out.println("用户 " + no + "访问结束.");
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			};
			new Thread(thread).start();
		}
	System.out.println("Main thread end...");
		
	}

}


用户 2连接上了: 
用户 5连接上了: 
用户 3连接上了: 
用户 1连接上了: 
用户 6连接上了: 
用户 7连接上了: 
Main thread end...
用户 0连接上了: 
用户 9连接上了: 
用户 4连接上了: 
用户 8连接上了: 
用户 5开始访问后台程序...
用户 6开始访问后台程序...
用户 2开始访问后台程序...
用户 2访问结束.
用户 7开始访问后台程序...
用户 5访问结束.
用户 6访问结束.
用户 3开始访问后台程序...
用户 1开始访问后台程序...
用户 4开始访问后台程序...
用户 3访问结束.
用户 0开始访问后台程序...
用户 7访问结束.
用户 1访问结束.
用户 8开始访问后台程序...
用户 4访问结束.
用户 0访问结束.
用户 9开始访问后台程序...
用户 8访问结束.
用户 9访问结束.


目录
相关文章
|
11天前
|
监控 Java 物联网
Java串口通信技术探究1:深入理解RXTX库
Java串口通信技术探究1:深入理解RXTX库
26 2
|
5天前
|
安全 C++
C++多线程编程:并发与同步
C++多线程编程:并发与同步
8 0
|
5天前
|
Kubernetes Java 调度
Java容器技术:Docker与Kubernetes
Java容器技术:Docker与Kubernetes
16 0
|
5天前
|
存储 安全 Java
深入理解Java字节码与反编译技术
深入理解Java字节码与反编译技术
13 0
|
5天前
|
监控 Java Maven
揭秘Java Agent技术:解锁Java工具开发的新境界
作为JDK提供的关键机制,Java Agent技术不仅为Java工具的开发者提供了一个强大的框架,还为性能监控、故障诊断和动态代码修改等领域带来了革命性的变革。本文旨在全面解析Java Agent技术的应用场景以及实现方式,特别是静态加载模式和动态加载模式这两种关键模式。
27 0
|
8天前
|
安全 Java 测试技术
今天我们来聊一聊Java中的Semaphore
今天我们来聊一聊Java中的Semaphore
16 3
|
11天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
36 3
|
11天前
|
安全 IDE Java
Java串口通信技术探究2:RXTX库单例测试及应用
Java串口通信技术探究2:RXTX库单例测试及应用
28 4
|
11天前
|
存储 前端开发 安全
13:会话跟踪技术Session的深度应用与实践-Java Web
13:会话跟踪技术Session的深度应用与实践-Java Web
25 3
|
11天前
|
存储 前端开发 搜索推荐
12:会话跟踪技术Cookie的深度应用与实践-Java Web
12:会话跟踪技术Cookie的深度应用与实践-Java Web
24 4