摘要: -- 查询连续3天登录的用户1 先创建一个表,如下:1 create table USER_DATA2 (3 USER_ID NUMBER,4 LOGIN_TIME DATE5 );2 插入用户登录数据: 1 insert into user_data (USER_ID, LOGIN_TIME) v... 阅读全文
posted @ 2014-08-05 15:31 一线天 阅读(3468) 评论(0) 推荐(0) 编辑
摘要: vim有着强大的替换和查找功能,若能进行熟练的运用,可以让工作效率得到一个很大程度的提高.替换语法:[addr]s/源字符串/目的字符串/[option][addr]表示检索范围,如:"1,n":表示从第1行到n行"%":表示整个文件,同"1,$"".,$":表示从当前行到文件尾[addr]省略时表... 阅读全文
posted @ 2014-08-05 12:02 一线天 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 有数据交互的进程之间的关系主要有两种,同步与互斥.所谓互斥,是指在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行.所谓同步,是指在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务.很显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步.也就是说互斥是两个线程之间不可以同时运行某个代码片段,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行;而同步也是不能同时运行的,同时它还要必须要安照某种次序来运行相应的线程(也是一种互斥 阅读全文
posted @ 2013-06-19 11:07 一线天 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 在linux下进行c++编写多线程程序时,基本上都会涉及到同步与互斥的情况.首先来说下互斥.比如说多个线程都需要对同一个变量X进行操作,但是在线程A对X进行操作时,如果线程B,C,D...也来同时进行,这就乱套了,都不知道是谁操作的结果.所有我们需要给这个变量加一把锁,等某一个线程操作完了,下一个线程才能进行操作.也就是说各个线程对X的操作是互斥的.接下来说说条件变量.比如我要等待变量X达到某一条件值(比如X>10),这时我才进行相关的处理.这时候,我就有可能需要时时刻刻都要关心这个条件是否成立,这有可能就需要不停的进入临界区查看条件是否成立,这样频繁的消耗CPU.而且每次进入临界区,别 阅读全文
posted @ 2013-06-19 10:55 一线天 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 定义 内存共享所指的是多个进程可以把同一段内存空间映射到自己的内存空间,以此来实现数据的共享与传输.它是所有IPC方式中最快的一种,因为它不需要中间环节,而是直接把一个内存段映射到调用进程的地址空间.内存共享是存在于内核级别的一种资源,在shell中使用命令ipcs可以用来查看当前系统IPC中的状态(包括Shared memory segments、Message queues、Semaphore arrays),在文件系统中/proc有对其进行描述的相应文件. 在系统内核为一个进程分配内存地址时,通过分页机制可以让一个进程的物理地址不连续,同时也可以让一段内存分配给不同的进程.所有的共享.. 阅读全文
posted @ 2012-08-02 14:58 一线天 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 进来在做一些http协议方面的东西,期间碰到数据传输的一些问题,下面就来说下Chunked transfer encoding.wiki地址为:http://en.wikipedia.org/wiki/Chunked_transfer_encodingChunked transfer encoding:作为http 1.1 版本的一种数据传输机制,web服务器使用此方式通过一系列的块来返回数据.在http响应头部使用Transfer-Encoding来代替Content-Length字段,这能满足协议在某些情况下的需求.由于未使用Content-Length字段,在开始传输响应消息到客户端(通 阅读全文
posted @ 2012-05-24 11:44 一线天 阅读(661) 评论(0) 推荐(0) 编辑
摘要: socket服务器端 阅读全文
posted @ 2012-04-13 18:08 一线天 阅读(907) 评论(0) 推荐(0) 编辑
摘要: sockaddr与sockaddr_in及其使用 阅读全文
posted @ 2012-04-13 17:33 一线天 阅读(2774) 评论(0) 推荐(0) 编辑