zport.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #include <stdafx.h>
  2. #include "zport.h"
  3. #include <stdio.h>
  4. #ifdef WIN32
  5. DWORD WINAPI ThreadProc(LPVOID lpParameter) {
  6. #else
  7. void *ThreadProc(LPVOID lpParameter) {
  8. #endif
  9.   ZThread *thread = (ZThread *)lpParameter;
  10.   thread->action();
  11.   return 0;
  12. }
  13. void ZThread::start() {
  14. #ifdef WIN32
  15.   handle = CreateThread(0, 0, ThreadProc, (LPVOID)this, 0, &id);
  16. #else
  17.   int ret = pthread_create(&p_thread, NULL, ThreadProc, this);
  18.   if (ret == 0)
  19.   {
  20.   pthread_detach(p_thread);
  21.   }
  22. #endif
  23. }
  24. void ZThread::stop() {
  25.   bStop = true;
  26. #ifdef WIN32
  27.   TerminateThread(handle, 0);
  28. #else
  29.   pthread_cancel(p_thread);
  30. #endif
  31. }