zoukankan      html  css  js  c++  java
  • [笔记]linux下和windows下的 创建线程函数

    linux下和windows下的 创建线程函数

     1 #ifdef __GNUC__
     2 //Linux
     3 #include <pthread.h>
     4 #define CreateThreadEx(tid,threadFun,args) pthread_create(tid, 0, threadFun, args)
     5 #define CloseHandle(ph)
     6 /*
     7 int pthread_create(
     8   //指向线程标识符的指针。
     9   pthread_t *restrict tidp,
    10   //设置线程属性。传入NULL表示使用默认。
    11   const pthread_attr_t *restrict_attr,
    12   //新线程所执行的线程函数地址。
    13   void*(*start_rtn)(void*),
    14   //传给线程函数的参数。
    15   void *restrict arg
    16 );*/
    17 #else
    18 //windows
    19 #include <process.h>
    20 #define CreateThreadEx(tid,threadFun,args) _beginthreadex(tid, 0, threadFun, args, 0, NULL)
    21 /*
    22 HANDLE WINAPI _beginthreadex(
    23   //线程内核对象的安全属性,一般传入NULL表示使用默认设置。
    24   LPSECURITY_ATTRIBUTES lpThreadAttributes,
    25   //线程栈空间大小。传入0表示使用默认大小(1MB)。
    26   SIZE_T dwStackSize,
    27   //新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。
    28   LPTHREAD_START_ROUTINE lpStartAddress,
    29   //传给线程函数的参数。
    30   LPVOID lpParameter,
    31   //指定额外的标志来控制线程的创建,为0表示线程创建之后立即就可以进行调度,如果为CREATE_SUSPENDED则表示线程创建后暂停运行,这样它就无法调度,直到调用ResumeThread()。
    32   DWORD dwCreationFlags,
    33   //返回线程的ID号,传入NULL表示不需要返回该线程ID号。
    34   LPDWORD lpThreadId
    35 );*/
    36 #endif

    一般使用方式: CreateThreadEx(NULL,threadFun,arg);

    但是 Linux下,第一个参数不能为空,不然直接段错误!

  • 相关阅读:
    《精通C#》委托与事件(10章)
    正则
    h5的formData 上传文件及.net后台
    img显示文件对象
    用div 画出三角形
    父元素有border-radius时,overflow 失效
    HTML标签文本内容正常显示而不被解析
    css 从简单到复杂的动态效果,你值得拥有
    在$.post()函数外 使用$.post()返回函数的数据
    jquery工作积累
  • 原文地址:https://www.cnblogs.com/lzpong/p/5667597.html
Copyright © 2011-2022 走看看