多线程以及内存释放问题?
说一下整个设计思想:
------->service_thread------->timer_thread
|
|
|
main_thread- |
|
|
|------->service_thread------->timer_thread
主线程在accept后调用service_thread接收网络数据,其中的数据有心跳包,所以由service_thread启动了timer_thread,service_thread会等待timer_thread结束后结束,但是发现每次链接过后会多分配4k的内存,是否需要再在线程里面调用pthread_exit函数,但是有人说这个是一种自杀的方式,还有我跟踪了里面的变量内存申请以及释放都是作完了的,看我还有那里没有考虑到,请大家想想,下面是我top的结果,红色部分为增加部分:
Mem: 40820K used, 78052K free, 0K shrd, 8000K buff, 6660K cached
Load average: 0.03, 0.02, 0.00 (State: S=sleeping R=running, W=waiting)
PID USER STATUS RSS PPID %CPU %MEM COMMAND
1150 root R 780 889 4.7 0.6 top
1100 root S < 6824 891 0.9 5.7 test
902 root S < 6824 891 0.0 5.7 test
901 root S < 6824 891 0.0 5.7 test
894 root S < 6824 891 0.0 5.7 test
887 root S < 6824 1 0.0 5.7 test
904 root S < 6824 891 0.0 5.7 test
891 root S < 6824 887 0.0 5.7 test