一、信号量
在进行多线程编程时,经常要使用同步互斥机构,但java本身没有提供的同步互斥机构,仅提供了两个与同步互斥有关的方法:wait()和notify(),可以用来设计信号量类:mysemaphore,它是按照dijkstra提出的计数信号量的思想设计的。
mysemaphore有两个最重要的成员方法:p()和v()。这两个方法实际就实现了信号量的p操作和v操作。具体描述如下:
public synchronized void p(){
semaphore--;
if(semaphore<0){
try{
wait();
}catch(interruptedexception ie){}
}
}
public synchronized void v(){
semaphore++;
if(semaphore<=0)
notify();
} Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器