csocket建立執行緒

2021-03-10 18:41:43 字數 1096 閱讀 8490

1樓:阿爾邁凡

沒有什麼區別

只需要在應用中需要使用執行緒的地方建立執行緒就可以了

一般socket伺服器執行緒模型是指在伺服器接收到新的鏈結時

會建立乙個執行緒來與該鏈結進行資料交流

在accept成功返回後就立即建立乙個執行緒,並將一些與之鏈結相關的私有資料傳遞給該執行緒後

伺服器會繼續等待新的鏈結

而之前的鏈結則交由新建立的執行緒來服務

乙個簡單的模型型別於這樣

1、等待鏈結

3、再回到1

#include

#include

#include

#include

#include

#include

#include

#define port htons(8888)

typedef struct sockaddr sa;

typedef struct sockaddr_in sa_in;

typedef struct

data;

void err_quit(const char *msg)

void echo(data *data)

close(data->sockfd);

free(data);

pthread_exit(null);

}int main(int argc,char **argv)

data=malloc(sizeof(data));

if(data == null)

data->sockfd=newfd;

memcpy(&data->addr,&addr,sizeof(sa_in));

建立乙個工作執行緒

}return 0;

}由此可見,在socket中使用執行緒和其它應用中使用執行緒是沒有任何區別的

2樓:匿名使用者

看你的意思bai,你是想些服du

3樓:匿名使用者

只要建立乙個執行緒就可以傳送和接收了,就呼叫下recv和read

執行緒安全與執行緒不安全的區別,什麼是執行緒安全什麼是執行緒不安全

執行緒bai安全就是多執行緒訪問時,採du用了加鎖機zhi制,當乙個執行緒訪dao 問該類的某回個資料時,進行保護,其他執行緒答不能進行訪問直到該執行緒讀取完,其他執行緒才可使用。不會出現資料不一致或者資料汙染。執行緒不安全就是不提供資料訪問保護,有可能出現多個執行緒先後更改資料造成所得到的資料是髒...

cpu核心數和執行緒數,CPU的核心數和執行緒數分別代表什麼?

四核的cpu,看你怎麼理解,有幾種理解方式。偽四核。intel的i3或者i5有雙核四執行緒的cpu,也就是每個核心可以幾乎同時執行兩個執行緒。當四核用。真四核。intel和amd都有的,就是四核四執行緒。真四核多執行緒。intel高階i7的標誌,有四核心,而且每個核心有兩個執行緒,共計八執行緒,相當...

執行緒是什麼意思,CPU執行緒是什麼意思,如何知道CPU是幾執行緒?

執行緒是指程式的乙個指令執行序列,win32 平台支援多執行緒程式,允許程式中存在多個執行緒。在單 cpu 系統中,系統把 cpu 的時間片按照排程演算法分配給各個執行緒,因此各執行緒實際上是分時執行的,在多 cpu 的 windows nt 系統中,同乙個程式的不同執行緒可以被分配到不同的 cpu...