java ×Ô¼ºÊµÏÖ ReadWriteLock £¨Ò»£©
¶àÏ̶߳Áдͬһ¸ö¶ÔÏóµÄÊý¾ÝÊÇºÜÆÕ±éµÄ£¬Í¨³££¬Òª±ÜÃâ¶Áд³åÍ»£¬±ØÐë±£Ö¤ÈκÎʱºò½öÓÐÒ»¸öÏß³ÌÔÚдÈ룬ÓÐÏß³ÌÕýÔÚ¶ÁÈ¡µÄʱºò£¬Ð´Èë²Ù×÷¾Í±ØÐëµÈ´ý¡£¼òµ¥Ëµ£¬¾ÍÊÇÒª±ÜÃâ“д-д”³åÍ»ºÍ“¶Á-д”³åÍ»¡£µ«ÊÇͬʱ¶ÁÊÇÔÊÐíµÄ£¬ÒòΪ“¶Á-¶Á”²»³åÍ»£¬¶øÇҺܰ²È«¡£
ҪʵÏÖÒÔÉϵÄReadWriteLock£¬¼òµ¥µÄʹÓÃsynchronized¾Í²»ÐУ¬ÎÒÃDZØÐë×Ô¼ºÉè¼ÆÒ»¸öReadWriteLockÀ࣬ÔÚ¶Á֮ǰ£¬±ØÐëÏÈ»ñµÃ“¶ÁËø”£¬Ð´Ö®Ç°£¬±ØÐëÏÈ»ñµÃ“Ð´Ëø”¡£¾ÙÀý˵Ã÷£º
DataHandler¶ÔÏó±£´æÁËÒ»¸ö¿É¶ÁдµÄchar[]Êý×飺
package com.crackj2ee.thread;
public class DataHandler {
// store
data:
private
char[] buffer = "AAAAAAAAAA".toCharArray();
private
char[] doRead() {
char[] ret = new char[buffer.length];
for(int i=0; i<buffer.length; i++) {
ret[i] = buffer[i];
sleep(3);
}
return ret;
}
private void
doWrite(char[] data) {
if(data!=null) {
buffer = new char[data.length];
for(int i=0; i<buffer.length; i++) {
buffer[i] = data[i];
sleep(10);
}
}
}
private void
sleep(int ms) {
try {
&nb
Ïà¹ØÎĵµ£º
Ò»°ãÎÒÃÇÔÚjavaÖÐÔËÐÐÆäËüÀàÖеķ½·¨Ê±£¬ÎÞÂÛÊǾ²Ì¬µ÷Ó㬻¹ÊǶ¯Ì¬µ÷Ó㬶¼ÊÇÔÚµ±Ç°µÄ½ø³ÌÖÐÖ´Ðеģ¬Ò²¾ÍÊÇ˵£¬Ö»ÓÐÒ»¸öjavaÐéÄâ»úʵÀýÔÚÔËÐС£¶øÓеÄʱºò£¬ÎÒÃÇÐèҪͨ¹ýjava´úÂëÆô¶¯¶à¸öjava×Ó½ø³Ì¡£ÕâÑù×öËäȻռÓÃÁËһЩϵͳ×ÊÔ´£¬µ«»áʹ³ÌÐò¸ü¼ÓÎȶ¨£¬ÒòΪÐÂÆô¶¯µÄ³ÌÐòÊÇÔÚ²»Í¬µÄÐéÄâ»ú½ø³ÌÖÐÔËÐеģ¬Èç¹ûÓÐÒ»¸ö½ø³Ì·¢Éú ......
Java
Java£¬ÊÇÓÉSun Microsystems¹«Ë¾ÓÚ1995Äê5ÔÂÍÆ³öµÄJava³ÌÐòÉè¼ÆÓïÑÔºÍJavaƽ̨µÄ×ܳơ£ÓÃJavaʵÏÖµÄHotJavaä¯ÀÀÆ÷£¨Ö§³ÖJava applet£©ÏÔʾÁËJavaµÄ÷ÈÁ¦£º¿çƽ̨¡¢¶¯Ì¬µÄWeb¡¢Internet¼ÆËã¡£´Ó´Ë£¬Java±»¹ã·º½ÓÊܲ¢Íƶ¯ÁËWebµÄѸËÙ·¢Õ¹£¬³£ÓõÄä¯ÀÀÆ÷ÏÖÔÚ¾ùÖ§³ÖJava applet¡£
¡¡¡¡Javaƽ̨ÓÉJavaÐéÄâ»ú£¨Java Virt ......
ÔÌâÈçÏ£ºÓÃ1¡¢2¡¢2¡¢3¡¢4¡¢5ÕâÁù¸öÊý×Ö£¬ÓÃjavaдһ¸ö³ÌÐò£¬´òÓ¡³öËùÓв»Í¬µÄÅÅÁУ¬È磺512234¡¢412345µÈ£¬ÒªÇó£º"4"²»ÄÜÔÚµÚÈý룬"3"Óë"5"²»ÄÜÏàÁ¬¡£
½âÌâ˼·£º
ºÜÃ÷ÏÔ£¬ÕâÊÇÒ»¸öµÝ¹éËã·¨¡£ÎÒÃÇ¿ÉÒÔÅÅÁн«Õâ6¸öÊý°´´ÓСµ½´óµÄ˳ÐòÅÅһϣ¬Èç¹ûÊÇ1,2,3,4,5,6£¬ÄÇô»áÓÐ1 ......
½ñÌìÎÒÔÚ×ö·É»ú¡£ÎªÊ²Ã´ËµÎÒÔÚ×ö·É»úÄØ£¡ÒòΪÕâÊÇÎÒ½ø´«ÖDz¥¿ÍÒÔÀ´£¬¸öÈ˸оõ·Ç³£ÖØÒªµÄÒ»ÌÿΣ¬µ«ÊÇÎÒ²»ÄÜÒ»ÏÂ×Ó¼ÇסËùËùÓеĶ«Î÷£¬×òÌìÍíÉÏ£¬¿´ÊÓÆµ¿´µ½ÍíÉÏÈýµã£¬½ñÌìÉϿκÜÏ뼯ÖÐ×¢ÒâÁ¦£¬µ«ÊÇ×îÖÕ»¹ÊÇÈ̲»×¡´òÁËî§Ë¯£¬µ«½ñÌìµÄµÄ¿Î¸øÎҵĸоõÊǷdz£¾ßÓÐÁ¬¹áÐÔ£¬Ç°ÃæµÄ¿ÎÈç¹ûÌýµÃ²»ÊǺÜÇ ......
µÚÒ»´Î·¢,Ñ¡¸öÄѶÈÊʵ±ÖеÄ:ÎÒ¸Õ±Ïҵʱ²Î¼ÓµÄÒ»´Î±ÊÊÔ.
Ìâ:¶ÔÈÎÒâÊäÈëÈëµÄÒ»¸ö×Ö·û´®£¬°ÑÊý×Ö´ÓСµ½´óÅÅÁУ¬×ÖďĿÐòÅÅÁÐ,²¢ÇÒÊäÈëºó×ÖĸÓëÊý¾Ý½»ÌæÅÅÁС£
Èç:"5s3fa72cs4z134556sdd"Ö´ÐкóΪ"z1s2s3s3f4d4d5c5a56".
´ó¼Ò¿ÉÒÔÊÔÒ»ÏÂ,¹²Í¬Ñ§Ï°Âð?ÏÂÃæÊÇÎÒµ±³¡×öµÄ,Ïëµ½ÄÄдµ½ÄÄ,Ëã·¨¿Ï¶¨²»ÓÅ,½ö¹©²Î¿¼.
import java.util ......