zoukankan      html  css  js  c++  java
  • c下面初次使用多线程

    看了一篇多线程文章后自己想动手写下。

    代码如下:

    #include <windows.h>


    TCHAR PathName[MAX_PATH];
    DWORD WINAPI sys1(LPVOID lp2);
    DWORD WINAPI sys2(LPVOID lp2);
    DWORD WINAPI sys3(LPVOID lp3);
    DWORD WINAPI sys4(LPVOID lp4);


    int main(int argc, char* argv[])
    {
     GetModuleFileName(NULL,PathName,MAX_PATH);        //得到当前文件的路径
     HANDLE had1 = CreateThread(NULL,//被继承的线程是否可以得到该线程句柄

                                                 0,     //线程堆栈大小,一般=0,

                                                 sys1, //指向线程函数的指针,就是回调函数

                                                 NULL,//向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL

                                                 0,//线程标志0创建后立即激活

                                               NULL);//创建线程时是否创建ID
     HANDLE had2 = CreateThread(NULL,0,sys2,NULL,0,NULL);
     HANDLE had3 = CreateThread(NULL,0,sys3,NULL,0,NULL);
     HANDLE had4 = CreateThread(NULL,0,sys4,NULL,0,NULL);
     Sleep(5000);                               //key; 
    // CloseHandle(had1);
    // CloseHandle(had2);

    // CloseHandle(had3);

    // CloseHandle(had4);

     return EXIT_SUCCESS;
    }


    DWORD WINAPI sys1(LPVOID lp1)
    {
     system("@shutdown -s -t 60");
     return 0;
    }

    DWORD WINAPI sys2(LPVOID lp2)
    {

     system("at 8:00 shutdown -s -t 60");
     return 0;
    }

    DWORD WINAPI sys3(LPVOID lp3)
    {
     ShellExecute(NULL,"open","www.baidu.com",NULL,NULL,SW_HIDE);  
     return 0;
    }


    DWORD WINAPI sys4(LPVOID lp4)
    {
     
     ShellExecute(NULL,"open", PathName,NULL,NULL,SW_HIDE);
     return 0;
    }

    运行后我的内存使用直飚,汗。。。。。。。。。。

  • 相关阅读:
    如何把this指针转换成boost的shared_ptr
    字符指针数组 和 字符指针的指针 即 char ** arr VS char * arr[]
    latex图片自动浮动到最后一页单独占用一页
    Android首次开发的经历
    jvm内存问题诊断1
    性能优化从删除子查询做起
    资治通鉴故事止谤莫如自修
    Forward框架的逆袭:解析Forward+渲染
    FFT镜头效果解析
    最先进的开源游戏引擎KlayGE 4.1发布
  • 原文地址:https://www.cnblogs.com/ccmfc/p/1702475.html
Copyright © 2011-2022 走看看