多线程客户端是对单线程客户端的扩展,在原有的基础之上使用了线程技术,SOCKET的创建与关闭都是在子线程中进行:子线程在创建时也创建一个SOCKET,在子线程退出时,将其关闭。这样,在线程并发的时候,产生多个SOCKET同时连接服务器的情景。
线程数目达到1000多线时,程序会出现如下错误:
Thread 1419 terminated abnormally: Bad file descriptor
Thread 1418 terminated abnormally: Bad file descriptor
Thread 1422 terminated abnormally: Bad file descriptor
Thread 1426 terminated abnormally: Bad file descriptor
Thread 1460 terminated abnormally: Bad file descriptor
Thread 1453 terminated abnormally: Bad file descriptor
Thread 1455 terminated abnormally: Bad file descriptor
Thread 1457 terminated abnormally: Bad file descriptor
Thread 1463 terminated abnormally: Bad file descriptor
Thread 1461 terminated abnormally: Bad file descriptor
Thread 1459 terminated abnormally: Bad file descriptor
Thread 1464 terminated abnormally: Bad file descriptor
Thread 1466 terminated abnormally: Bad file descriptor
Thread 1468 terminated abnormally: Bad file descriptor