原创 ViewPager

由普通layout構成的viewPager 一般用於展示類的頁面(如新的app打開出現的引導頁) activity_main.xml <RelativeLayout xmlns:android="http://schemas.

原创 多線程脫離狀態 + 調度

pthread_join 用來等待線程結束 不希望等待線程結束 就是用脫離狀態(備註:進程結束了線程依然會結束) 根據文檔 join 和 detached 要設置其中一種 否則多線程容易造成內存泄漏 #include<

原创 yii單點登錄持久化登錄狀態失效

參考 https://segmentfault.com/q/1010000000641642/a-1020000000642058 場景:yii部署了sso單點登錄,不同項目獨立部署,使用cwebuser提供的登錄模塊,設置aut

原创 管道pipe

pipe是popen的底層函數 子進程調用 pipe3程序,傳給pipe3 管道的文件描述符 pipe3對文件描述符進行讀操作 實現不用進程之間的數據傳輸 #include<stdio.h> #include<std

原创 getchar緩衝區

getchar()函數等待輸入直到按回車才結束(前提是緩衝區沒有數據),回車前的所有輸入字符都會逐個顯示在屏幕上。 #include<stdio.h> #include<stdlib.h> int main(){ i

原创 多線程

_REENTRANT宏 通過定義宏_REENTRANT來告訴編譯器我們需要可重入功能 #include<stdio.h> #include<stdlib.h> #include<pthread.h> void *thread_

原创 IO多路複用 epoll

epoll支持linux內核 類Unix如mac是不支持的 #include<unistd.h> #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<

原创 管道popen

popen會啓動一個shell進程來解釋請求的命令 使用方法和文件操作類似 讀 #include<stdio.h> #include<stdlib.h> #include<string.h> int main(){

原创 IO多路複用-Select

#include<stdio.h>

原创 目錄操作

#include<stdio.h> #include<dirent.h> #include<sys/stat.h> int main(){ char *path = "/root"; DIR* dir =

原创 fork wait

如果父進程先結束,子進程不會自己結束 #include<stdio.h> #include<stdlib.h> #include<sys/wait.h> int main(){ int a,b,c;

原创 共享內存

兩個進程共享一塊內存 server #include<unistd.h> #include<stdlib.h> #include<stdio.h> #include<string.h> #include<sys/shm.h> #in

原创 time

#include<stdio.h> #include<time.h> #include<stdlib.h> int main(){ struct tm *tm_ptr; time_t the_time;

原创 多線程同步

信號量semaphore sem_post 計數器加一 sem_wait 計數器爲遞減 爲0的時候等待 #include<stdio.h> #include<stdlib.h> #include<pthread.h> #incl

原创 環境變量

#include<stdio.h> #include<stdlib.h> extern char **environ; int main(){ char *home = getenv("HOME"); //獲得環境變量