• 线程


     
    #线程组成:内核对象,线程堆栈
     
    #线程和进程的区别
    >子进程和父进程有不同的代码和数据空间
    >多个线程共享数据空间,每个线程有独立的执行堆栈和程序计数器
    >多进程是为了节约时间,充分利用CPU。多线程视情况而定
    >进程使用的资源比线程多得多
     
    #线程创建
    每个线程都需要有一个进入点函数,一个程序的主线程的进入点函数必须是main , wmain , WinMain或 wWinMain等。
    如果要在进程中创建一个辅助线程,则需要定义一个类似这样的进入点函数:
    DWORD WINAPI ThreadFunc (PVOID pvParam )
    {
        DWORD dwResult = 0 ;
        ...
        return (dwResult)
     }
     
    #线程函数特征
    >主线程的进入点函数必须是main , wmain , WinMain或 wWinMain等,普通线程则无要求。
    >线程函数必须返回一个值,作为退出码。
    >线程函数必须尽可能使用函数参数和局部变量,避免使用全局变量和静态变量。
     
    #创建线程 CreateThread
     
    #线程终止方法
    >线程函数返回
    >调用ExitThread函数(不推荐)
    >同一个进程或另一个进程中的线程调用TermiateThread函数
     
    >在进程终止时撤销线程,ExitProcess 和 TerminateProcess 可以用来终止线程的运行
     
    #线程挂起和恢复 
    >创建线程时,可以传入标识参数令线程挂起
    >调用SupendThread函数可以挂起线程
    >调用ResumeThread函数可以恢复线程
     
    #线程优先级
    >一个线程首次被创建时,优先级等同于所属进程优先级
    >SetThreadPriority函数可以改变线程相对所属进程的优先级
    >线程优先级 = 进程基本优先级 + 线程相对优先级
    >进程基本优先级:实时,高,高于正常,正常,低于正常,空闲
     
    #线程休眠
    Sleep()
     
     
     
     
     
     
     
     
     





  • 相关阅读:
    常用的字符集编码
    live555—VS2010/VS2013 下live555编译、使用及测试(转载)
    win32下Socket编程(转载)
    do{...}while(0)的意义和用法(转载)
    C++ static与单例模式
    MFC多线程各种线程用法 .
    a^1+b problem
    重返现世——题解
    第K大C
    懒癌
  • 原文地址:https://www.cnblogs.com/fysola/p/4818040.html
Copyright © 2020-2023  润新知