原创 多線程中定時器的使用

不管是在進程還是線程,很多時候我們都會使用一些定時器之類的功能,這裏就定時器在多線程的使用說一下。首先在linux編程中定時器函數有alarm()和setitimer(),alarm()可以提供一個基於秒的定時功能,而setitimer

原创 mmap詳解

功能描述:    mmap將一個文件或者其它對象映射進內存。文件被映射到多個頁上,如果文件的大小不是所有頁的大小之和,最後一個頁不被使用的空間將會清零。munmap執行相反的操作,刪除特定地址區域的對象映射。    基於文件的映射,

原创 Linux內核信號處理機制介紹

本文簡單介紹下Linux信號處理機制,爲介紹二進制翻譯下信號處理機制做一個鋪墊。 本文主要參考書目《Linux內核源代碼情景分析》《獨闢蹊徑品內核:Linux內核源代碼導讀》首先,先說一下什麼是信號。信號本質上是在軟件層次上對中斷機制的

原创 Http協議詳解

引言                                         HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完

原创 Oracle定時任務

今天總結下oracle的任務隊列管理器(job queue ),以後也方便查詢.  我們要做定時任務時,有兩種辦法 一種是: 操作系統的定時,win的定時任務,unix的crontab 一種是: 數據庫級的定時,她的效率更高, 再

原创 線程條件變量pthread_cond_t

1.初始化條件變量pthread_cond_init #include <pthread.h> int pthread_cond_init(pthread_cond_t *cv, const pthread_condattr_t *ca

原创 函數可變參數例子

#include <stdio.h> #include <string.h> #include <stdarg.h> int demo ( char*, ...); void main ( void ) { demo("DEM

原创 LDAP協議介紹

LDAP協議基礎概念 1. 從用途上闡述LDAP,它是一個存儲靜態相關信息的服務,適合“一次記錄多次讀取”。常用LDAP服務存儲的信息:  公司的物理設備信息(如打印機,它的IP地址、存放位置、廠商、購買時間等)  公開的員工信息(地址

原创 Vim 練級攻略

vim的學習曲線相當的大(參看各種文本編輯器的學習曲線),所以,如果你一開始看到的是一大堆VIM的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自《Learn Vim Progressively》,我覺得這是給新手最好的VIM

原创 IMAP4協議簡介

IMAP是斯坦福大學在1986年開發的,它是一個開放的標準,被設計成POP的超集,而POP是個地位牢固的開放郵件標準。IMAP標準的最新版是IMAP第4版修訂版1(RFC 2060)。IMAP第4版修訂版1與IMAP4的實際差別僅僅在於前

原创 Linux C++線程池框架

本文給出了一個通用的線程池框架,該框架將與線程執行相關的任務進行了高層次的抽象,使之與具體的執行任務無關。另外該線程池具有動態伸縮性,它能根據執行任務的輕重自動調整線程池中線程的數量。文章的最後,我們給出一個簡單示例程序,通過該示例程序,

原创 LinuxC模擬ls程序

#include <sys/types.h> #include <dirent.h> int main(int argc, char* argv[]) { DIR* lpoDir; struct dirent* lpoD

原创 shmget - 共享內存

一. 共享內存介紹 系統V共享內存指的是把所有共享數據放在共享內存區域(IPC shared memory region),任何想要訪問該數據的 進程都必須在本進程的地址空間新增一塊內存區域,用來映射存放共享數據的物理內存頁面。系統

原创 Linux查看文件編碼格式及文件編碼轉換

如果你需要在Linux 中操作windows下的文件,那麼你可能會經常遇到文件編碼轉換的問題。Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介紹一下,在Linux中如何查看文件的編碼及如何進

原创 Nginx安裝教程

nginx可以使用各平臺的默認包來安裝,本文是介紹使用源碼編譯安裝,包括具體的編譯參數信息。 正式開始前,編譯環境gcc g++ 開發庫之類的需要提前裝好,這裏默認你已經裝好。 ububtu平臺編譯環境可以使用以下指令