JavaÏß³ÌÖ®Producer
Producer-Consumer PatternµÄ²ÎÓëÕߣº
1. Data²ÎÓëÕß
±»Producer²ÎÓëÕßËù´´½¨£¬²¢ÓÉConsumer²ÎÓëÕßËùʹÓá£
2. Producer£¨Éú²úÕߣ©²ÎÓëÕß
´´½¨Data²ÎÓëÕߣ¬²¢½«Æä´«µÝ¸øChannel²ÎÓëÕß¡£
3. Consumer£¨Ïû·ÑÕߣ©²ÎÓëÕß
´ÓChannel²ÎÓëÕß»ñÈ¡Data²ÎÓëÕß¡£
4. Channel£¨Í¨µÀ£©²ÎÓëÕß
Channel²ÎÓëÕß´ÓProducer²ÎÓëÕß´¦½ÓÊÕData²ÎÓëÕߣ¬²¢½«Æä±£¹ÜÆðÀ´¡£²¢Ó¦Consumer²ÎÓëÕßµÄÒªÇ󣬽«Data²ÎÓëÕß´«ËͳöÈ¥¡£
ΪÁËÈ·±£°²È«ÐÔ£¬Producer²ÎÓëÕßÓëConsumer²ÎÓëÕßÒª¶Ô·ÃÎʽøÐй²ÏíÅų⡣
ÔÚProducer-Consumer PatternÖУ¬¼ç¸º±£»¤°²È«ÐÔʹÃüµÄÊÇChannel²ÎÓëÕß¡£Channel²ÎÓëÕß½øÐÐÏß³ÌÖ®¼äµÄ¹²Ïí»¥³â£¬ÈÃProducer²ÎÓëÕßÄܹ»ÕýÈ·µÄ½«Data²ÎÓëÕßË͵½Consumer²ÎÓëÕßÊÖÉÏ¡£
ÕâÀËäÈ»·ÖÀëÁËProducerºÍConsumerÖ®¼äµÄ½»»¥£¬Producer²ÎÓëÕß²»ÐèÒªµÈConsumer²ÎÓëÕß´¦ÀíÍêData£¬¾Í¿ÉÒÔ¼ÌÐøÈ¥ÖÆÔìÏÂÒ»¸öData£¬Channel²ÎÓëÕß×÷ΪProducerºÍConsumerÖ®¼äµÄ»º³åÇø¡£µ«ÊÇChannel²ÎÓëÕßµÄÈÝÁ¿Ò²ÊÇÓÐÏ޵ģ¬Ò²¾ÍÊÇ˵£¬µ±ConsumerÏû·ÑDataµÄËÙ¶ÈСÓÚProducerÖÆÔìDataµÄËÙ¶Èʱ£¬ChannelÖеÄDataÊýÁ¿»á³ÖÐøÔö¼Ó¡£ÕâÀïÐèÒª¶ÔChannelµÄÈÝÁ¿¼ÓÒÔ¿ØÖÆ£¬·ñÔò¿ÉÄÜ»á×îºóÒòΪÄÚ´æ²»×ã¶øÊ¹µÃProducerÖÆÔì²»³öData¡£¶ÔÓÚProducer²ÎÓëÕßÀ´Ëµ£¬ÔÚChannelÈÝÁ¿²»×ãµÄÇé¿öÏ£¬ÒªÓèÒԵȴý¡£
ÒýÉ꣺
1. ÒòΪChannel²ÎÓëÕßµÄÖн飬ʹµÃProducerºÍConsumerµÄ¶àÌõÏß³Ìе÷ºÏ×÷¡£
Ïß³ÌΪÁËе÷ºÏ×÷£¬ËùÒÔ±ØÐë½øÐй²Ïí»¥³â£¬Ê¹¹²ÏíµÄ¶«Î÷²»±»Ë𻵡£¶øÏ̵߳Ĺ²Ïí»¥³â£¬¾ÍÊÇΪÁËÈÃÏà´¦ºÏ×÷²Å½øÐеġ£
Ï̵߳ĺÏ×÷ÒªÏë“·ÅÔÚÖмäµÄ¶«Î÷”£¬Ï̵߳Ļ¥³âÒªÏë“Ó¦¸Ã±£»¤µÄ¶«Î÷”
2. ÒòΪChannel²ÎÓëÕßµÄÖн飬¿ÉÒÔʹProducerÖÆÔì³öÀ´µÄ¶à¸öDataÒÔ²»Í¬µÄ˳Ðò´«µÝ¸øConsumer¡£
³£¼ûµÄ´«µÝ»úÖÆÓУº
-- ¶ÓÁУ¬ ×îÏÈÊÕµ½µÄÏÈ´«
-- ¶ÑÕ»£¬ ×îºóÊÕµ½µÄÏÈ´«
-- ÓÅÏȶÓÁУ¬ “ÓÅÏÈ”µÄ¶«Î÷ÏÈ´«
Ïà¹ØÎĵµ£º
ת×ÔInfoQ£¬×÷Õß Charles Humble ÒëÕß ÕÅÁú
±¾ÔÂ3ÈÕSunµÄJ2SE 5.0ʵÏÖÒÑÖÕ½á·þÎñÖÜÆÚ£¨End of Service Life£¬¼´EOSL£©£¬ÕâÒ»ÌìÒ²ÊÇ×îºóµÄÒ»´Î5.0¸üз¢²¼ÈÕÆÚ£¨J2SE 5.0 Update 22£©¡£Ñ°ÇóSunÖ§³ÖµÄÓû§¿ÉÒÔÑ¡ÔñÉý¼¶µ½Java 6»òÊǶ©ÔÄSunµÄJava for Business³ÌÐò¡£
SunÌṩÁ˶àÖÖ¶àÑùµÄJava¸¶·ÑÖ§³Ö¡£Java¾µäÖ§³Ö£ ......
×î½üѧϰjavaÓõ½ÁËJList,¶ÔÓÚÏòJListÖÐÌí¼ÓÊý¾Ý£¬À§ÈÅÁ˺þã¬ÉÏÍø²é¸øµÄ´ð°¸¶¼Ã»¸öºÏÊʵģ¬ÎÊÁËÀÏʦ²ÅŪÃ÷°×Щ£¬×ܽáÈçÏ£º
1.ʹÓÃVector£ºÊ×ÏȰÑÄãµÄÊý¾ÝÏî¶¼´æ·ÅÔÚVectorÖУ¬È»ºóµ÷ÓÃJListµÄsetListData()·½·¨£¬½«VectorÌí¼Óµ½JListÖÐ
Vector vt=new Vector();
JList list=new JLis ......
public class TreeNodes{
IList<BranchInfo> branchs = BranchInfoManager.getAllBranchInfos();
foreach(BranchInfo branch in branchs){
TreeNode branchNode = new TreeNodeCreate(branch.BranchName,branch.BranchId.toString(),"","~/Images/menuclose.gif");
  ......
ÔÚ¿´µ½Thinking in java µÚËÄÕÂʱ³õʼ»¯Ïà¹ØÎÊÌâµÄʱºò£¬ÎÒÃDz»ÓɵذÑ×¢ÒâÁ¦ÒƵ½¹¹ÔìÆ÷ÉÏ¡£ÕâÀï×ö¸ö¼òµ¥µÄ×ܽᣬ±ãÓÚ¸ßÊÖÖ¸ÕýÒÔ¼°×Ô¼ºÎ¹ʡ£
Ê×Ïȹ¹ÔìÆ÷ÊÇÒª¹¹ÔìÒ»¸ö¶«Î÷{¹¹Ôì¶ÔÏó£¨ÊµÀý£©}²¢¶ÔÆä³õʼ»¯¡£Ö®ËùÒÔ ......