注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

libuv:多线程安全类之timer  

2014-07-06 18:58:34|  分类: linux、FreeBSD等 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

libuv的timer的内部管理采用的是红黑树,并且是非线程安全的。这就意味着,如果你开启了多个线程,并且每个线程都创建了timer,那么,很可能会导致程序崩溃。

 

这种底层库还真只能自己写,否则会出现各种问题。比如,libuv的malloc的内存就很难被释放。我试图创建了一个tcp conn的结构体实例,然后设置超时后回收内存。在uv_close的回调里面,我调用了free,但是问题来了,因为这个内存在uv_close的回调之后还会被调用,,,所以内存被回收就会导致异常。。于是,只能用定时器去定时轮询回收内存。

 

By:zhanyonhu

  评论这张
 
阅读(872)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016