zoukankan      html  css  js  c++  java
  • 线程

     
    #线程组成:内核对象,线程堆栈
     
    #线程和进程的区别
    >子进程和父进程有不同的代码和数据空间
    >多个线程共享数据空间,每个线程有独立的执行堆栈和程序计数器
    >多进程是为了节约时间,充分利用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()
     
     
     
     
     
     
     
     
     





  • 相关阅读:
    在DNN模块开发中使用jQuery
    在MSBuild.exe中使用条件编译(Conditional Compile)
    ASP.NET SQL 注入免费解决方案
    html+css做圆角表格
    [ASP]sitemap地图生成代码
    刺穿MYIE|24小时同一ip弹一次|无须body加载|精简代码
    用ASPJPEG组件制作图片的缩略图和加水印
    16个经典面试问题回答思路[求职者必看]
    一个26岁IT男人写在辞职后
    搜弧IT频道的幻灯片切换的特效源代码
  • 原文地址:https://www.cnblogs.com/fysola/p/4818040.html
Copyright © 2011-2022 走看看