关于线程的退出解决方法

关于线程的退出
在VC6.0环境下,我写了一段测试代码,是关于线程的,没有用MFC:
#include   <iostream>
#include   <WINSOCK2.H>

using   namespace   std;

DWORD   __stdcall   StartSend(LPVOID   strIP);

void   main()
{
DWORD   pThreadID;
char   *strIP= " ";
HANDLE   hThread;

hThread=CreateThread(NULL,0,   \
(LPTHREAD_START_ROUTINE)StartSend,\
strIP,CREATE_SUSPENDED,&pThreadID);
ResumeThread(hThread);
}

DWORD   __stdcall   StartSend(LPVOID   strIP)
{
while   (1)  
{
}
}
编译没问题,但是程序运行就退出了,调试发现是运行到crt0.c的exit()函数退出程序的。我的问题是:线程的运行函数StartSend是一直循环的(虽然没作什么),怎么会就退出了呢,应该是一直运行着才是,请问是怎么回事

------解决方案--------------------
在main里退出来了
启动和调度线程需要一定的时间
------解决方案--------------------
创建完线程,你主程序就退出了,线程要啥用?
线程是为了充分调动cpu积极性的,不是时髦,啥都要搞个线程。
举个例子
你要割麦子,然后又要收棉花,然后你可以创建个线程来帮你收棉花,你继续割麦子。仅此而已。你麦子割完了走了,那就所有都over掉了