STMX 1.3.2 Ôö¼Ó¶Ô ABCL (Armed Bear Common Lisp) µÄÖ§³Ö£¬´ËÍâÐÔÄÜÒ²½øÒ»²½µÃµ½ÌáÉý¡£
STMX ÊÇÒ»¸ö¸ßÐÔÄÜµÄ Common Lisp ¿â£¬ÓÃÓÚʵÏÖ¿É×éºÏµÄÈí¼þÊÂÎñÄÚ´æ»úÖÆ¡£
ÊÂÎñÄÚ´æÊÇÒ»ÖÖ²¢ÐгÌÐòÉè¼ÆµÄ·½Ê½£¬ÆäÀ´×ÔÓÚÊý¾Ý¿â¹ÜÀíϵͳ£¨DBMS£©ÖеÄÊÂÎñ£¨Transaction£©¸ÅÄî¡£ÊÂÎñÄÚ´æÄ¿Ç°ÓÐÁ½ÖÖʵÏÖ·½Ê½£¬»ù ÓÚÈí¼þµÄSTM£¨Software Transactional Memory£©ºÍ»ùÓÚÓ²¼þµÄHTM£¨Hardware Transacational Memory£©¡£
²ÉÓÃÈÎÎñ²¢ÐÐʱ±ØÐ뿼ÂÇÏ̼߳äͬ²½µÄÎÊÌ⣺×î³õ²½Ò²ÊÇ×îͨ³£µÄ·½·¨ÊÇʹÓÃËø£¬Ö»ÓлñµÃÁËËøµÄÏß³ÌÔÚÔÊÐí·ÃÎÊÁÙ½çÇø£¬µ«ÊÇʹÓÃËø»á·¢ÉúһЩÎÊÌ⣬ÖîÈç ÓÅÏȼ¶·´×ª(Priority inversion)¡¢ËÀËø£¨Deadlock£©¡¢»¤º½£¨Convoying£©µÈÎÊÌ⣻ÓÚÊǺóÀ´²úÉúÁËÎÞËø±à³Ì£¨Lockless programming£©µÄ¸ÅÄ¼´Ê¹ÓÃÔ×Ó²Ù×÷£¨Atomic Operations£©ºÍͬ²½Â·ÕÏ£¨Memory barrier£©À´Íê³ÉÏ̼߳äͬ²½µÄ¹¦ÄÜ£¬ÕâÖÖ·½·¨¹æ±ÜÁËʹÓÃËøÊ±³öÏÖµÄÉÏÊöÎÊÌâ²¢¼«´óµÄÌá¸ßÁ˲¢Ðжȣ¬µ«ÊÇÃæÁÙ×ÅÔ×Ó²Ù×÷±¾Éí¹¦ÄܾÖÏÞÐÔºÍ×éºÏÐÔ (Compositionality)²»¼ÑµÄÎÊÌâ¡£Ô×Ó²Ù×÷µÄ¾ÖÏÞÐÔʹµÃÎÞËø±à³ÌµÄËã·¨Éè¼ÆºÜÄÑ£¬×éºÏÐÔÔòÊÇÖ¸Êý¸öͬ²½µÄÔ×Ó¶ÔÏó×éºÏÓ¦¸ÃÒ²ÊÇÒ»¸öͬ²½µÄÔ×Ó¶ÔÏó¡£
ÏîÄ¿Ö÷Ò³£ºhttps://github.com/cosmos72/stmx
À´×Ô:¿ªÔ´ÖйúÉçÇø