⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 barrier.java

📁 The program is used to translate the english to chinese in the web pages just like google translate.
💻 JAVA
字号:
/* ************************************************************************** * @ Copyright 2004 by Brian Blank   										* * ************************************************************************** * Module:	$Source: /cvsroot/webtranslator/source/src/com/javanetworkframework/patterns/threads/Barrier.java,v $ * ************************************************************************** * Java Web Translator Project												* * http://sourceforge.net/projects/webtranslator/							* * ************************************************************************** * CVS INFORMATION															* * Current revision $Revision: 1.2 $ * On branch $Name: A0-2 $ * Latest change by $Author: xyombie $ on $Date: 2004/09/18 00:44:18 $ * ************************************************************************** * Modification History:													* * VERSION    DATE	 AUTHOR	DESCRIPTION OF CHANGE	    				    * * -------	-------- ------	------------------------------------------------* *  V1.00	09/17/04  BRB	Initial Version.								* * ************************************************************************** */package com.javanetworkframework.patterns.threads;import java.util.logging.Logger;/** Implements a Barrier where there are n spawned threads *  and one main thread waiting for all the spawned processes to complete. *  * @author  Brian Blank * @version 1.0 */public class Barrier {	/* -------------------- STATIC SECTION --------------- */	private static final Logger logger = 		Logger.getLogger(Barrier.class.getName());	/* -------------------- INSTANCE SECTION --------------- */	/** Number of objects being waited on */	private int counter;		/** Constructor for Barrier	 * 	 * @param n Number of objects to wait on	 */	public Barrier(int n) {		logger.entering(this.getClass().getName(), "Barrier", new Integer(n));				counter = n;				logger.exiting(this.getClass().getName(), "Barrier");	}		/** Wait for objects to complete */	public synchronized void barrierWait() {		logger.entering(this.getClass().getName(), "barrierWait");				while(counter > 0) {			try {				wait();			} catch (InterruptedException e) {			}		}				logger.exiting(this.getClass().getName(), "barrierWait");	}		/** Object just completed */	public synchronized void barrierPost() {		logger.entering(this.getClass().getName(), "barrierPost");		counter--;		if(counter == 0) {			notifyAll();		}				logger.exiting(this.getClass().getName(), "barrierPost");	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -