- 博客(7)
- 资源 (41)
- 收藏
- 关注
转载 socket编程模型
最先出现的是阻塞模型,这个模型是讲解计算机网络时被作为例子介绍的,也是最简单的。其基本原理是:首先建立一个socket连接,然后对其进行操作,比如,从该socket读数据。因为网络传输是要一定的时间的,即使网络通畅的情况下,接受数据的操作也要花费时间。对于一个简单的单线程程序,接收数据的过程是无法处理其他操作的。比如一个窗口程序,当你接收数据时,点击按钮或关闭窗口操作都不会有效。它的缺点显而易见,
2014-10-22 16:43:14 1041
转载 select函数详解及实例分析
Select函数在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻
2014-10-22 16:29:50 1587
转载 纯C语言INI文件解析
在一个跨平台( Android 、Windows、Linux )项目中配置文件用 INI 格式,自己写了个解析库,纯C语言的,简单好用。 可以解析 INI 格式的字符串、解析文件、保存到文件。 下面是头文件:[cpp] view plaincopy#ifndef INI_PARSER_H #define IN
2014-10-17 17:49:21 1592
原创 pthread_join(pid) 返回值是22
预备知识:linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,若是unjoinable状态的线程,这些资源在线程函数退出时或pthread_exit时自动会被释放。 如果线程是joinable状态,只有当你调用了pthread_join之后这些资源才会被释放,即只有不设置unjoinable状态时pthread_join才
2014-10-17 17:35:46 5236
转载 线程取消(pthread_cancel)
基本概念pthread_cancel调用并不等待线程终止,它只提出请求。线程在取消请求(pthread_cancel)发出后会继续运行,直到到达某个取消点(CancellationPoint)。取消点是线程检查是否被取消并按照请求进行动作的一个位置.与线程取消相关的pthread函数int pthread_cancel(pthread_t thread)发送终止信号给t
2014-10-17 11:46:25 861
转载 线程清理函数pthread_cleanup_push / pthread_cleanup_pop
线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。 pthread_cleanup_push来注册清理函数rtn,这个函数有一个参数arg。在以下三种情形之一发生时,注册的清理函数被执行: 1)调用pthread_exit。 2)作为对取消线程请求(p
2014-10-17 11:45:52 2104
转载 Minifilter的动态安装、加载及卸载
MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instances子键,然后读取DefaultInstance值,这个值标明了Instance选项,然后,再去读指定的Instance的Altitude和Flags值。
2014-10-10 09:46:24 2164
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人