2011年7月13日

遵守多线程编程的常识

摘要: 准则6: 遵守多线程编程的常识要准确把握在POSIX标准的函数中,那些函数是非线程安全的,一定不要使用要让自己编写的函数符合线程安全在访问共享数据/变量之前一定要先锁定如果使用C++的话,一定要注意函数的同步方法说明: (1) 要准确把握那些非线程安全的函数,一定不要使用如果在POSIX平台上进行多线程编程时,有几个最基本的知识,也就是所说的“常识”,希望大家一定要严格遵守。...首先、我们要理解“线程安全”的意思。线程安全的函数就是指,“一个能被在多个线程同时调用也不会发生问题的函数”。这样的函数通常要满足以下几个的特质。不要操作局部的静态变量(函数内的static变量)和全局静态数据(全局 阅读全文

posted @ 2011-07-13 19:57 艾杏佛 阅读(411) 评论(0) 推荐(0) 编辑

自己写 localtime 函数(含完整注释,代码)转载

摘要: localtime()在多线程中使用的少的时候是不会出错的现localtime和ctime等函数在linux中的返回值均存放在一个静态区中,即TLS变量。如果在多线程程序中比较频繁的调用此函数,则可能出现内容错乱的情况。//曾在某平台下多线程中使用localtime库函数。可恶的是,每当程序运行//一段时间后,都要出现内存泄露。查了数个夜晚为什么,无从断定。//只能狠狠心,自己写了个localtimes,功能与localtime库函数相同。//有了它以后,我就不再因内存泄露而烦恼了。//要知道“内存泄露”是程序员大的一大耻辱。//这个localtimes在多线程下已经运行了3年,还没发生问题, 阅读全文

posted @ 2011-07-13 19:55 艾杏佛 阅读(1412) 评论(0) 推荐(0) 编辑

导航