您的位置:首页 > 其它

关于23种设计模式的有趣见解

2008-01-03 09:28 232 查看
X Window研究笔记(21)

转载时请注明出处和作者联系方式
作者联系方式:李先静

21.X Window 字符串与Atom

Atom是X Window中的一大特色,不把它弄清楚,可能会对阅读其它代码形成障碍。X Window把常用的字串用一个hash表来管理,并给这些字符串赋与一个ID,客户端通过ID引用字符串,避免在客户端和服务器端之间来回传递这些它们,这样可以大大提高传输效率。另外Atom是一个整数,对整数的比较也比对字符串的比较有更快的速度。管理Atom的主要函数有:


Atom


MakeAtom(string, len, makeit)


    char *string;


    unsigned len;


Bool makeit;




char *     


NameForAtom(atom)


    Atom atom;




...{      


    NodePtr node;


    if (atom > lastAtom) return 0;


    if ((node = nodeTable[atom]) == (NodePtr)NULL) return 0;


    return node->string;                


}          




void   


FreeAtom(NodePtr patom)




...{      


    if(patom->left)


        FreeAtom(patom->left);


    if(patom->right)


        FreeAtom(patom->right);


    if (patom->a > XA_LAST_PREDEFINED)


        xfree(patom->string);


    xfree(patom);


}



(待续)
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1809685
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: