java¶ÁÐ´ËøÊµÏÖ»úÖÆ
package thread.lock;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* @file_name ReadAndWriteLockDemo.java
* @description ¶ÁÐ´ËøDEMO
* @author ÕÅÃ÷ÁÁ
* @date 2009.09.27
*/
public class ReadAndWriteLockDemo {
ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
// ¶ÁËø
Lock rLock = rwLock.readLock();
// Ð´Ëø
Lock wLock = rwLock.writeLock();
// »õ¼Ü
List<String> stock = new ArrayList<String>();
//»¥³âËø
ReentrantLock lock = new ReentrantLock();
/**
* ÉÌÆ·ÂòÂô
* <br>
* µ±ÉÌÆ·ÊýÁ¿Ð¡ÓÚ1ʱ£¬ÊͷŶÁËø²¢»ñÈ¡Ð´Ëø Éú²úÉÌÆ·ºó£¬
* <br>
* Ëø½µ¼¶ÔÚÐ´Ëø±£»¤ÏÂÖØÐ»ñÈ¡¶ÁËø²¢Ïû·ÑÉÌÆ·
*/
public void sell() {
// lock.lock();
try {
rLock.lock();
if (stock.size() <= 0) {
rLock.unlock();
wLock.lock();
manufacture();
rLock.lock();
wLock.unlock();
}
consume();
rLock.unlock();
} finally {
// lock.unlock();
}
}
/**
* Éú²úÉÌÆ·
*/
private void manufacture() {
stock.add("product");
}
/**
* Ïû·ÑÉÌÆ·
*/
private void consume() {
System.err.println(stock.remove(0));
}
public static void main(String[] args) {
final ReadAndWriteLockDemo rwDemo = new ReadAndWriteLockDemo();
rwDemo.sell();
// Thread t1 = new Thread("threa--1") {
// public void run() {
// rwDemo.sell(
Ïà¹ØÎĵµ£º
[ת]Java´òÓ¡³ÌÐòÉè¼ÆÈ«¹¥ÂÔ
2008-12-07 18:43
ǰÑÔ
¡¡¡¡ÔÚÎÒÃǵÄʵ¼Ê¹¤×÷ÖУ¬¾³£ÐèҪʵÏÖ´òÓ¡¹¦ÄÜ¡£µ«ÓÉÓÚÀúÊ·ÔÒò£¬JavaÌṩµÄ´òÓ¡¹¦ÄÜÒ»Ö±¶¼±È½ÏÈõ¡£Êµ¼ÊÉÏ×î³õµÄjdk¸ù±¾²»Ö§³Ö´òÓ¡£¬Ö±µ½jdk1.1²ÅÒýÈëÁ˺ÜÇáÁ¿µÄ´òÓ¡Ö§³Ö¡£ËùÒÔ£¬ÔÚÒÔǰÓÃJava/Applet/JSP/ServletÉè¼ÆµÄ³ÌÐòÖУ¬½Ï¸´ÔӵĴòÓ¡¶¼ÊÇͨ¹ýµ÷ÓÃActiveX/OCX¿ ......
#(¶Á×ö "C sharp")ÊÇ΢Èí¹«Ë¾ÔÚÈ¥ÄêÁùÔ·¢²¼µÄÒ»ÖÖеıà³ÌÓïÑÔ,²¢¶¨ÓÚÔÚ΢ÈíÖ°Òµ¿ª·¢ÕßÂÛ̳(PDC)ÉϵÇ̨ÁÁÏà.C#ÊÇ΢Èí¹«Ë¾Ñо¿Ô±Anders HejlsbergµÄ×îгɹû.C#¿´ÆðÀ´ÓëJavaÓÐמªÈ˵ÄÏàËÆ;Ëü°üÀ¨ÁËÖîÈçµ¥Ò»¼Ì³Ð,½çÃæ,ÓëJava¼¸ºõͬÑùµÄÓï·¨,ºÍ±àÒë³ÉÖмä´úÂëÔÙÔËÐеĹý³Ì.µ«ÊÇC#ÓëJavaÓÐ×ÅÃ÷ÏԵIJ»Í¬,Ëü½è¼øÁËDelphiµÄÒ»¸ ......
String keyword = request.getParameter("keyword");
String timeRange = request.getParameter("timeRange");
String type = request.getParameter("type");
StringBuffer sql = new StringBuffer();
sql.append("use webstation_leadall s ......
±È½ÏPHPºÍJSPÕâÁ½¸öWeb¿ª·¢¼¼Êõ,ÔÚĿǰµÄÇé¿öÊÇÆäʵÊDZȽÏPHPºÍJavaµÄWeb¿ª·¢.ÒÔÏÂÊÇÎҾͼ¸¸öÖ÷Òª·½Ãæ½øÐеıȽÏ:
Ò». ÓïÑԱȽÏ
PHPÊǽâÊÍÖ´ÐеķþÎñÆ÷½Å±¾ÓïÑÔ,Ê×ÏÈphpÓмòµ¥ÈÝÒ×ÉÏÊÖµÄÌØµã.Óï·¨ºÍcÓïÑԱȽÏÏó,ËùÒÔѧ¹ýcÓïÑԵij ......
1.¸ÅÊö
JSPÊÇÒ»ÖÖʵÏÖÆÕͨ¾²Ì¬HTMLºÍ¶¯Ì¬HTML»ìºÏ±àÂëµÄ¼¼Êõ¡£
JSP×îÖջᱻת»»³É±ê×¼µÄServlet£¡£¡£¡
JSPÉè¼ÆµÄÄ¿µÄÔÚÓÚ¼ò»¯±íʾ²ãµÄ±íʾ¡£
JSPÒ³ÃæµÄÆäËû³É·ÖÖ÷ÒªÓÐÈçÏÂÈýÖÖ£º
½Å±¾ÔªËØ
Ö¸Áî
¶¯×÷
ÀýÈ磺
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*& ......