随笔分类 -  Linux shell

摘要:原文:http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.html http://hi.baidu.com/hcq11/blog/item/9f5bfc6e696209d680cb4a25.html http://hi.baidu.c... 阅读全文
posted @ 2011-12-25 12:19 lq0729 阅读(476) 评论(0) 推荐(0)
摘要:原文:http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html .tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————... 阅读全文
posted @ 2011-12-24 19:24 lq0729 阅读(173) 评论(0) 推荐(0)
摘要:有五种映射存在- 用于普通模式: 输入命令时。- 用于可视模式: 可视区域高亮并输入命令时。- 用于操作符等待模式: 操作符等待中 ("d","y","c" 等等之后)。见下: |omap-info|。- 用于插入模式: 也用于替换模式。? 用于命令行模式: 输入 ":" 或 "/" 命令时。下表是... 阅读全文
posted @ 2011-12-24 10:33 lq0729 阅读(12304) 评论(0) 推荐(0)
摘要:先看下"_exit"和"exit": exit被调用时,将冲刷所有的标准I/O流,关闭所有打开的文件描述符。在 传统实现中,同时也将关闭标准I/O流。即表示标准输出FILE对象的相关存储区将被清0。而_exit不会执行这些操作。 由于父子进程共享同一地址空间,当父进程恢复运行并调用... 阅读全文
posted @ 2011-10-24 15:14 lq0729 阅读(5332) 评论(0) 推荐(0)
摘要:为什么使用vfork()? 希望父子进程执行不同的代码。例如: 网络服务程序中,父进程等待客户端的服务请求,当请求达到时,父进程调用fork,使子进程处理该次请求,而父进程继续等待下一个服务请求到达。 vfork与fork的函数原型相同,用于创建新进程,而该新进程的目的是exec一... 阅读全文
posted @ 2011-10-24 14:57 lq0729 阅读(705) 评论(0) 推荐(0)
摘要:n fork函数创建一个新进程,新进程被称为子进程 n 函数原型:pid_t fork(void) n 返回值: fork函数调用一次,但... 阅读全文
posted @ 2011-10-24 12:45 lq0729 阅读(1810) 评论(0) 推荐(0)
摘要:n setjmp和longjmp函数实现函数之间的跳转(需包含头文件" setjmp.h "): 函数原型:int setjmp(jmp_buf env); void longjmp(jmp_buf env, int val); setjmp函数用于设... 阅读全文
posted @ 2011-10-23 22:44 lq0729 阅读(3218) 评论(0) 推荐(0)
摘要:一.为了适应需要,修改了"CLEvent": 头文件: View Code #ifndef CLEVENT_H#define CLEVENT_H#include "CLStatus.h"#include "CLMutex.h"#include "CLConditionVariable... 阅读全文
posted @ 2011-10-23 15:35 lq0729 阅读(3521) 评论(1) 推荐(0)
摘要:先上代码,主要是线程类"CLThread": 头文件: View Code #ifndef CLTHREAD_H#define CLTHREAD_H#include #include "CLExecutive.h"#include "CLStatus.h"#include "CLEv... 阅读全文
posted @ 2011-10-22 21:26 lq0729 阅读(913) 评论(0) 推荐(0)
摘要:POSIX.1说明:pthread_cond_broadcast等函数的调用无需考虑调用线程是否拥有锁,并建议在在lock和unlock以外的区域调用。为什么? §假设系统中有线程 1和线程 2:线程 1获取 mutex,在进行数据处理的时候,线程 ... 阅读全文
posted @ 2011-10-22 15:19 lq0729 阅读(1261) 评论(0) 推荐(0)
摘要:1. 首先pthread_cond_wait 的定义是这样的 The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are ca... 阅读全文
posted @ 2011-10-22 11:48 lq0729 阅读(1611) 评论(0) 推荐(0)
摘要:测试(其余代码相同): View Code #include #include #include "CLThread.h"#include "CLExecutiveFunctionProvider.h"#include "CLMutex.h"#include "CLCriticalS... 阅读全文
posted @ 2011-10-21 22:49 lq0729 阅读(527) 评论(0) 推荐(0)
摘要:本节在上一节的基础上,利用局部变量的构造和析构函数的特性,封装了对临界区的加锁和解锁操作,保证了程序(线程)在异常终止或中途退出的情况下也能正确解锁,从而不会出现死锁。 增加的临界区类"CLCriticalSection",其它源代码同上一节。 头文件: View Code #ifn... 阅读全文
posted @ 2011-10-21 20:21 lq0729 阅读(1604) 评论(0) 推荐(0)
摘要:详见百度百科”互斥锁“ 阅读全文
posted @ 2011-10-21 12:36 lq0729 阅读(236) 评论(0) 推荐(0)
摘要:在“Linux学习之线程封装五:基于接口的封装”的基础上,增加了协调器类“CLCoordinator”。 业务逻辑提供者类“CLCoordinator”,与“五”一样。 执行体类“CLExecutive”,将类的和构造函数的CLExecutiveFunctionProvider类型成员换成了CLCo... 阅读全文
posted @ 2011-10-21 12:17 lq0729 阅读(566) 评论(2) 推荐(0)
摘要:三个方面:业务逻辑,执行体,协调器(装配前两者) View Code #include#include#include#include#include"CLStatus.h"#include"CLLog.h"using namespace std;class CMyFunction{... 阅读全文
posted @ 2011-10-20 22:47 lq0729 阅读(335) 评论(0) 推荐(0)
摘要:C/C++有以下几种流对象的: 型别 名称 作用 istream cin 从input通道读入数据 ostream cout 将数据写到标准output通道 ostream cerr 将错误信息写到标准error通道 ostream clog 将日志信息写到标准logging通道 wistream ... 阅读全文
posted @ 2011-10-20 22:17 lq0729 阅读(11068) 评论(0) 推荐(2)
摘要:本例将执行体从线程类中抽象出来,形成一个接口,用户可根据需要派生出不同的执行体(线程或进程),从而使得不同的执行体(线程或进程)能以自己想要的方式运行。 执行体类(接口)"CLExecutive": 头文件: View Code #ifndef CLEXECUTIVE_H#defin... 阅读全文
posted @ 2011-10-19 22:18 lq0729 阅读(467) 评论(0) 推荐(0)
摘要:业务逻辑提供者类"CLThreadFunctionProvider" 头文件: View Code #ifndef CLTHREADFUNCTIONPROVIDER_H#define CLTHREADFUNCTIONPROVIDER_H#include "CLStatus.h"cla... 阅读全文
posted @ 2011-10-19 21:41 lq0729 阅读(464) 评论(0) 推荐(0)
摘要:线程类"CLThread" 头文件: View Code #ifndef CLTHREAD_H#define CLTHREAD_H#include #include "CLStatus.h"class CLThread{public: CLThread(); virtua... 阅读全文
posted @ 2011-10-19 20:17 lq0729 阅读(291) 评论(0) 推荐(0)