內容:通訊的另一種方式:socketpair
使用方法:
1、socketpair是一種雙向通訊機制,它通過socket實現雙向通訊。
2、socketpair使用場景:
* 在乙個程序的執行緒之間進行雙向通訊
* 在具有親緣關係的程序間進行通訊
例項:
在main執行緒建立出新的執行緒,此時main執行緒和子執行緒同屬乙個程序,它們之間使用socketpair進行通訊
**:
#include
#include
#include
#include
#include
#include
static
void
*thread_run_func (
void
*arg)
;int readlen;
/* 向主程序傳送乙個訊息 */
printf
("send to main thread : %s\n"
,"hello,main!");
write
(thread_fd,
"hello,main!"
,sizeof
("hello,main!"))
;/* 接收主程序傳送的訊息 */
readlen =
read
(thread_fd, thread_buf,50)
; thread_buf[readlen]
='\0'
;printf
("recv from main thread : %s\n"
, thread_buf);}
intmain
(int argc,
char
*ar**)
;int readlen;
result =
socketpair
(af_unix, sock_seqpacket,
0, sockets);if
(-1== result)
/* 建立乙個子執行緒用於和主線程之間進行雙向通訊 */
result =
pthread_create
(&thread,
null
, thread_run_func,
(void
*)sockets[1]
);sleep(1
);/* 延時一段時間讓子程序先於主程序執行 */
/* 接收子程序傳送過來的訊息 */
readlen =
read
(sockets[0]
, main_buf,50)
; main_buf[readlen]
='\0'
;printf
("recv from child thread : %s\n"
, main_buf)
;/* 傳送乙個訊息給子程序 */
printf
("send to child thread : %s\n"
,"hi,child");
write
(sockets[0]
,"hi,child"
,sizeof
("hi,child"))
;sleep(1
);return0;
}
執行結果: ThinkPHP3 2 3使用分頁
todo 基礎分頁的相同 封裝,使前台的 更少 param count 要分頁的總記錄數 param int pagesize 每頁查詢條數 return think page function getpage count,pagesize 10 控制器中使用的 如下 public function...
ThinkPHP3 2 3使用分頁
thinkphp3.2.3使用分頁 首先要搞清楚的就是thinkphp3.2.3的分頁類已經被移到了think page.class.php,這是跟以前的版本有些不一樣的,使用起來還是跟以前版本差不多,但是預設的效果不敢恭維,所以最好是自己加些樣式。todo 基礎分頁的相同 封裝,使前台的 更少 p...
thinkphp3 2 3 使用配置
1,隱藏index.php home 中的index.php 配置.htaccess檔案 ifmodule mod rewrite.c rewriteengine on rewritecond d rewritecond f rewriterule index.php 1 qsa,pt,l ifmo...