- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 Linux下如何安全退出线程
Linux下如何安全退出进程和线程背景最新发现以前工作中写的代码有个比较严重的bug,在这里做一下笔记,并做适当扩展,防止以后出现类似的问题。问题背景是这样的,有一个管理设备用的进程需要从远端FTP服务器上下载软件包,以执行升级操作。管理进程通过select监听socket文件描述符,有消息到来时就调用对应的消息处理函数处理消息。执行从FTP服务器上下载软件包的操作,就是为了响应软件下
2015-07-26 19:04:33 2627
原创 why C++
这两天在看C++沉思录,打算输出几篇博客,用来整理自己的思绪,加深理解。这是这个序列的第一篇,是对该书序幕和第一篇的总结,主要介绍C++的优势。
2015-03-01 20:42:17 589
原创 pthread_cond_timedwait的使用及疑问
条件变量是一种在并发编程中常用的同步原语。是一种通知机制,一个线程需要某种条件成立后,才能继续执行,如果条件不成立则阻塞等待条件成立,是wait端;另外的线程则是执行某些操作后,使条件成立,然后唤醒等待线程,是signal/broadcast端。wait端的使用方式:由于条件会被wait线程读取,被signal/broadcast线程修改,即写入。为了防止出现竞争,需要和mut
2015-02-08 09:26:22 2349 1
原创 Linux多线程服务器端编程笔记一
最近在阅读陈硕先生的《Linux多线程服务器端编程》,学习了一些socket接口的新用法,在这里做一下笔记。一步创建非阻塞socketsocket函数原型如下:
2014-02-10 12:39:02 1024 1
原创 寄存器冲突
在用汇编调用子程序时,为了防止寄存器冲突,要将子程序中用到的寄存器内容压入栈中保存起来。在以前看书的时候看到子程序用到的寄存器分三种:1传递参数的寄存器;2存放结果的寄存器;3存放子程序中的中间值的寄存器。存放结果的寄存器的内容不应该被压入栈中保存,这很好理解,因为如果压入栈中,最后程序会把原来栈中的值弹回寄存器中,就会把结果覆盖。对于存放中间值的寄存器入栈也很好理解,因为子程序用到的
2009-11-30 07:52:00 1056
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人