如何使用C信号QML多线程问题,怎么解决

如何使用C信号QML多线程问题,怎么解决,第1张

可以通过以下原则解决:

1、设置线程池的最大线程数

2、设置线程池的并发处理线程数量

3、设置线程池最大的队列线程数

4、做好线程池的线程清理工作

做好这几点,理论上没问题了,具体还得看编程者代码的质量。

PS:服务器不可能为每一个请求都创建线程,得考虑到最大负载,当达到临界值的时候,服务器返回繁忙状态,拒绝服务即可,当然这是简单的处理办法。

做服务器,你需要知道服务器都需要什么技术。首先,搭建服务器一般都是在Linux平台,所以你需要了解Linux知识,包括Linux操作命令。

另外,服务器经常需要脚本,你需要知道shell脚本的知识。

然后,就是网络通信,服务器和客户端需要进行通信,你需要知道tcp/ip协议,网络编程,http和https协议,还有单播,组播,广播。

还有,服务器一般还需要数据库做支撑,所以数据库还需要了解。

当然,最基础的编程语言肯定是需要熟练掌握的,最好能懂算法,这样搭建服务器才高效。

最后,还有一些特殊的技术,比如多客户端同时连接服务器问题,epoll,select技术,进程间通信技术,多线程技术,文件操作等。

当然,以上所有技术了解最好,有些是必须熟练使用的。但是有些不用熟练使用,因为服务器,也不会让你全干,分到每个人手上的活只是一部分。

#include <sys/stat.h>

#include <fcntl.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

#include <pthread.h>

void*thread(void*)

int client[5],i

main()

{

int serverSocket= socket(AF_INET,SOCK_STREAM,0)

struct sockaddr_in server_addr

struct sockaddr_in clientAddr

int addr_len = sizeof(clientAddr)

//线程

pthread_t id

pthread_attr_t attr

pthread_attr_init(&attr)////////////////////////////////////////////////

pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED)

//创建地址

bzero(&server_addr,sizeof(server_addr))

server_addr.sin_family =AF_INET

server_addr.sin_port = htons(5555)

server_addr.sin_addr.s_addr = htonl(INADDR_ANY)

//绑定

bind(serverSocket,(struct sockaddr *)&server_addr,sizeof(server_addr))

listen(serverSocket,5)

for(i=0i<5i++)

{

client[i] = accept(serverSocket,(struct sockaddr *)&clientAddr,(socklen_t*)&addr_len)

pthread_create(&id,&attr,thread,(void *)&client[i])/////////////////////////////////

pthread_join(id,NULL)

}

close(serverSocket)/////////////////////////

return 0

}

void* thread(void* argv)

{

char buffer[200]

int a=i

int s_c = *((int*)argv)///////////////////

while(1)

{

int n = recv(s_c,buffer,sizeof(buffer),0)

if(n >0)

printf("客户端发过来的 : %s\n",buffer)

else

return

}

close(s_c)

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/214323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存