Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3050
  • 博文数量: 2
  • 博客积分: 31
  • 博客等级: 民兵
  • 技术积分: 25
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-28 17:24
文章分类
文章存档

2011年(2)

我的朋友
最近访客

分类: 系统运维

2011-10-19 17:38:17

网络断开重连-------线程

 

网络断开后重连的问题,可以使用线程去重连,即创建一个线程专门负责去建立连接,如果连接断开,则由这个线程去重新连接,连接完成后,这个线程则会阻塞(休眠)。

      

       在这里可以使用这个函数:

pthread_mutex_lock(&mutex);

将其上锁,这样的目的是保证该线程在成功创建线程后不再重复执行,第二次直接阻塞在这句。

      

       在程序中如果发现网络连接断开了,则直接执行解锁函数:

       pthread_mutex_unlock(&mutex);

解锁后负责创建连接的线程被唤醒,继续往下执行,创建连接。

 

 这样处理不是最好的方法,用消息队列的方式让线程阻塞也行,用上锁的方式容易乱,但是也是个简单的办法。
wuquan-1230.blog.163.com
阅读(755) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:udev和U盘自动挂载

给主人留下些什么吧!~~