在主线程里起了2个线程。线程函数的声明:
static UINT TCPRecvThread用的是MFC里的
AfxBeginThread(TCPRecvThread,this);
这个是起在OnInitDialog()里的。这个线程工作OK。AfxBeginThread(TCPSendThread,this);
这个是在一个按钮里的。
TCPSendThread里的函数放到主进程里就不会有问题,放到线程里之后就会在执行的过程中死掉。
把这个函数放到线程里,是因为在阻塞模型下发送数据会把界面卡死。这个线程大约要执行50秒。
线程执行一会就会不挂掉。
不知道该怎么办,也不知道错哪了。
问点其他的问题:
线程里的函数执行完之后,线程会自动销毁么?
static UINT TCPRecvThread用的是MFC里的
AfxBeginThread(TCPRecvThread,this);
这个是起在OnInitDialog()里的。这个线程工作OK。AfxBeginThread(TCPSendThread,this);
这个是在一个按钮里的。
TCPSendThread里的函数放到主进程里就不会有问题,放到线程里之后就会在执行的过程中死掉。
把这个函数放到线程里,是因为在阻塞模型下发送数据会把界面卡死。这个线程大约要执行50秒。
线程执行一会就会不挂掉。
不知道该怎么办,也不知道错哪了。
问点其他的问题:
线程里的函数执行完之后,线程会自动销毁么?
accept() send() recv()都会阻死界面。
刚学TCP通讯时间不太长。这里我起线程的时候就是一个完整的TCP通讯过程。
不会涉及到资源竞争的问题