B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 5|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

AIWROKÏß³ÌÐí¿ÉÖ¤¹¤¾ß

[¸´ÖÆÁ´½Ó]

992

Ö÷Ìâ

997

Ìû×Ó

7245

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7245
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
AIWROKÏß³ÌÐí¿ÉÖ¤¹¤¾ß
AIWROKÏß³ÌÐí¿ÉÖ¤¹¤¾ß B2BÍøÂçÈí¼þ

AIWROKÏß³ÌÐí¿ÉÖ¤¹¤¾ß B2BÍøÂçÈí¼þ

  1. // AIWROKÈí¼þ°²×¿½»Á÷QQȺ711841924
  2. // Æ»¹ûÄÚ²âÈí¼þQQȺ648461709

  3. function ThreadLicense() {
  4.     var _isLocked = false;
  5.     var _waitingQueue = [];
  6.    
  7.     /**
  8.      * »ñÈ¡Ðí¿ÉÖ¤
  9.      * @param {Function} callback - »ñÈ¡Ðí¿ÉÖ¤ºóµÄ»Øµ÷º¯Êý£¬½ÓÊÕrelease×÷Ϊ²ÎÊý
  10.      * @returns {boolean} ÊÇ·ñ³É¹¦»ñÈ¡Ðí¿ÉÖ¤
  11.      */
  12.     this.acquire = function(callback) {
  13.         if (typeof callback !== 'function') {
  14.             return false;
  15.         }
  16.         
  17.         if (!_isLocked) {
  18.             _isLocked = true;
  19.             // Ö´Ðлص÷£¬²¢´«Èëreleaseº¯Êý
  20.             try {
  21.                 callback(this.release.bind(this));
  22.             } catch (e) {
  23.                 // ³ö´íʱ×Ô¶¯ÊÍ·ÅÐí¿ÉÖ¤
  24.                 this.release();
  25.                 throw e;
  26.             }
  27.             return true;
  28.         } else {
  29.             // Ìí¼Óµ½µÈ´ý¶ÓÁÐ
  30.             _waitingQueue.push(callback);
  31.             return false;
  32.         }
  33.     };
  34.    
  35.     /**
  36.      * ÊÍ·ÅÐí¿ÉÖ¤
  37.      */
  38.     this.release = function() {
  39.         _isLocked = false;
  40.         
  41.         // ´¦ÀíÏÂÒ»¸öµÈ´ýÇëÇó
  42.         if (_waitingQueue.length > 0) {
  43.             var nextCallback = _waitingQueue.shift();
  44.             this.acquire(nextCallback);
  45.         }
  46.     };
  47.    
  48.     /**
  49.      * ¼ì²éÊÇ·ñ±»Ëø¶¨
  50.      * @returns {boolean} ÊÇ·ñÒÑËø¶¨
  51.      */
  52.     this.isLocked = function() {
  53.         return _isLocked;
  54.     };
  55.    
  56.     /**
  57.      * »ñÈ¡µÈ´ý¶ÓÁ㤶È
  58.      * @returns {number} µÈ´ý¶ÓÁ㤶È
  59.      */
  60.     this.getQueueLength = function() {
  61.         return _waitingQueue.length;
  62.     };
  63. }

  64. // È«¾ÖÐí¿É֤ʵÀý
  65. var globalLicense = new ThreadLicense();

  66. /**
  67. * ´´½¨Ðí¿É֤ʵÀýµÄ±ã½Ý·½·¨
  68. * @returns {ThreadLicense} еÄÐí¿É֤ʵÀý
  69. */
  70. function createThreadLicense() {
  71.     return new ThreadLicense();
  72. }

  73. // ¼òµ¥µÄÑÓʱº¯Êý
  74. function delay(ms, callback) {
  75.     if (typeof java !== 'undefined' && java.lang.Thread && java.lang.Thread.sleep) {
  76.         // Rhino»·¾³
  77.         try {
  78.             java.lang.Thread.sleep(ms);
  79.             if (typeof callback === 'function') {
  80.                 callback();
  81.             }
  82.         } catch (e) {}
  83.     } else {
  84.         // ±ê×¼»·¾³
  85.         setTimeout(callback, ms);
  86.     }
  87. }

  88. // ¼òµ¥µÄ´òÓ¡º¯Êý
  89. function safePrintl(msg) {
  90.     if (typeof printl === 'function') {
  91.         printl(msg);
  92.     } else if (typeof console !== 'undefined' && typeof console.log === 'function') {
  93.         console.log(msg);
  94.     }
  95. }

  96. // ¼òµ¥Ê¾Àý
  97. function licenseExample() {
  98.     safePrintl("Ïß³ÌÐí¿ÉÖ¤¹¤¾ß - ¼òµ¥Ê¾Àý");
  99.    
  100.     var license = new ThreadLicense();
  101.    
  102.     // ÈÎÎñ1
  103.     license.acquire(function(release) {
  104.         safePrintl("ÈÎÎñ1»ñÈ¡µ½Ðí¿ÉÖ¤");
  105.         
  106.         // Ä£ÄâºÄʱ²Ù×÷
  107.         delay(2000, function() {
  108.             safePrintl("ÈÎÎñ1Íê³É£¬ÊÍ·ÅÐí¿ÉÖ¤");
  109.             release();
  110.         });
  111.     });
  112.    
  113.     // ÈÎÎñ2»áµÈ´ýÈÎÎñ1Íê³É
  114.     license.acquire(function(release) {
  115.         safePrintl("ÈÎÎñ2»ñÈ¡µ½Ðí¿ÉÖ¤");
  116.         
  117.         // Ä£ÄâºÄʱ²Ù×÷
  118.         delay(1000, function() {
  119.             safePrintl("ÈÎÎñ2Íê³É£¬ÊÍ·ÅÐí¿ÉÖ¤");
  120.             release();
  121.         });
  122.     });
  123. }

  124. // Ö´ÐÐʾÀý
  125. licenseExample();
¸´ÖÆ´úÂë




»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2025-12-1 10:04 , Processed in 0.178850 second(s), 33 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí