zoukankan      html  css  js  c++  java
  • Windows编程--线程的基本知识

    进程是由两部分构成的 一个是进程对象,一个是地址空间。线程也有两个部分组成: 一个是线程的内核对象,一个线程栈。 

     

    进程是不活泼的,进程从来不所选任何东西,它只是线程依存的地方。线程在它的进程空间执行代码。并在进程的地址空间中对操作。

    CreateThread函数 (是用来创建线程的Windows函数。不过,如果你正在编写C/C++代码,决不应该调用CreateThread。相反,应该使用VisualC++运行期库函数_beginthreadex

    HANDLE CreateThread(
    LPSECURITY_ATTRIBUTES psa,
    DWORD cbStack,
    LPTHREAD_START_ROUTINE lpStartAddr,
    LPVOID lpvThreadParam,
    DWORD fdwCreate,
    LPDWORD pdwThreadID
    );

    参数说明:

    psa

    指向SECURITY_ATTRIBUTES结构的指针。传递NULL,为线程的内核对象的默认属性。设定为SECURITY_ATTRIBUTES结构。

    cbStack

    用于高度线程可能将多少地址空间用于它自己的栈。(注:这个栈的空间是在进程空间里的。

    lpStartAddr

    用于指明想要新线程执行的线程的地址(线程函数名)。

    pvParam

    与原来传递给CreateThread的pvParam参数相同。唯一做的事是在线程启动执行时将该数传递给线程函数。可以是数字值。也可以是一个数据结构的指针。

    fdwCreate

    设定用于控制创建消防坦克的其他标志,有两个值0立即进行调度),

     CREATE_SUSPENDED(系统可以完整地创建线程并对它进行初始化,介是要暂停该线程的运行,线程就无法进行调度) 不常用。

    pdwThreadID

    它必须是DWORD的一个有效地址,使用这个地址来存放系统分配给新线程的ID.

    FangSH

    2010-12-27

  • 相关阅读:
    Java8 Optional使用方式
    ABAC框架-casbin
    Java数据脱敏(手机号|邮箱号|身份证号|银行卡号)
    使用OpenOffice将office文件转为pdf
    在线审批流设计
    Java 将带逗号的字符串转为List
    Java8 lambda常用操作
    Markdown合并单元格
    本博客已搬迁至rcst.xyz
    涂色(题解)
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/1926276.html
Copyright © 2011-2022 走看看