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

  • 相关阅读:
    Android Studio:layout-sw600dp文件夹中创建activity_main.xml
    Android Studio提示忽略大小写
    学习进度条-3
    二维数组
    人月神话阅读笔记01
    作业-数组
    学习进度条-2
    周四测试
    家庭家长本-微信小程序
    第一周开课博客园
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/1926276.html
Copyright © 2011-2022 走看看