A: 线程由两个部分组成:

•线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。

• 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量

线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作。多个线程将共享单个地址空间。这些线程能够执行相同的代码,对相同的数据进行操作。这些线程还能共享内核对象句柄,(因为句柄表依赖于每个进程而不是每个线程存在)。

B:线程的创建:

当进程被初始化时,系统就要创建一个主线程。该线程与C/C++运行期库的启动代码一道开始运行,启动代码则调用进入点函数(mian、wmain、WinMain或wWinMain) ,并且继续运行直到进入点函数返回并且C/C++运行期库的启动代码调用ExitProcess为止。对于许多应用程序来说,这个主线程是应用程序需要的唯一线程。不过,进程能够创建更多的线程来帮助执行它们的操作。

通常,一个应用程序拥有一个用户界面线程,用于创建所有窗口,并且有一个GetMessage循环。进程中的所有其他线程都是工作线程,它们与计算机或 I / O相关联,但是这些线程从不创建窗口。另外,一个用户界面线程通常拥有比工作线程更高的优先级,因此用户界面负责向用户作出响应。

转载于:https://www.cnblogs.com/dyufei/archive/2009/04/26/2574003.html

第六章 线程的基础知识相关推荐

  1. Windows核心编程 第六章 线程基础知识 (上)

    第6章 线程的基础知识 理解线程是非常关键的,因为每个进程至少需要一个线程.本章将更加详细地介绍线程的知识.尤其是要讲述进程与线程之间存在多大的差别,它们各自具有什么作用.还要介绍系统如何使用线程内核 ...

  2. 计算机硬件基础知识微盘,第1章 电脑硬件基础知识.pdf

    第1章 电脑硬件基础知识 企业级的 DIY与个人用户有所不同:它要求专业人员对硬件的了解更多,在 DIY过程中, 应该知晓每一种硬件的技术参数在实际工作中的应用价值:本章重点介绍电脑主机设备的主流 和 ...

  3. 第一篇第二章火灾的基础知识

    沿外墙面蔓延的情况 需要注意:层高要足够高 要不下层着火会直接蔓延到上层 喷头系统必须在轰然之前进行灭火 否则灭火失败 2019/1/3 [录播]2018一消精华班-实务-一级消防工程师-环球网校 h ...

  4. 《软件需求分析(第二版)》第 1 章——软件需求基础知识 重点部分总结

    文章目录 前言 一.单选题 二.填空题 三.判断题 四.简答题 总结 前言 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义 ...

  5. 计算机的指令合成为,第二章计算机操作基础知识doc

    第二章计算机操作基础知识doc (29页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 23.9 积分 第二章  计算机操作基础知识第一节  计算机基础知识 ...

  6. 《液晶显示器和液晶电视维修核心教程》——第2章 电子元器件的基础知识2.1 电阻类...

    本节书摘来自异步社区<液晶显示器和液晶电视维修核心教程>一书中的第2章,第2.1节,作者: 田佰涛 更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 电子元 ...

  7. (Java高级教程)第四章必备前端基础知识-第二节1:CSS概述和选择器

    文章目录 一:CSS概述 (1)概述 (2)语法规范 (3)CSS引入方式 二:选择器 (1)基础选择器 ①:标签选择器 ②:类选择器 ③:id选择器 ④:通配符选择器 总结 (2)复合选择器 ①:后 ...

  8. 【软考数据库】第六章 数据库技术基础

    目录 6.1 基本概念 6.1.1 关于数据的基本概念 6.1.2 数据库管理系统的功能 6.1.3 数据各个发展阶段的特点 6.1.4 数据库系统的体系结构 6.2 数据模型 6.2.1 三级模式两 ...

  9. c语言的main含糊,第1-2章 C语言基础知识

    <第1-2章 C语言基础知识>由会员分享,可在线阅读,更多相关<第1-2章 C语言基础知识(17页珍藏版)>请在人人文库网上搜索. 1.第1-2章C语言基础知识,本章教学内容, ...

最新文章

  1. linux php mysql安装完整版本_Linux下安装PHP+MySQL+Apache完整版
  2. html怎么在图片上加文字_怎么把图片文字转换成word文档
  3. Linux Socket poll
  4. session和cookie的最深刻理解
  5. CCF201503-1 图像旋转
  6. 基于浏览器父子窗口值传递
  7. 5G、IoT 时代下,手机聚焦拍照是否走错了方向?
  8. Akka构建Reactive应用《one》
  9. PHP包含文件函数include、include_once、require、require_once区别和总结
  10. android灰度发布平台,安卓版微信灰度发布购物直播功能 小程序直播上线公域流量入口...
  11. 我,是广工的一名电商男孩。喜欢唱跳 rap 我们终究会遇见 有缘 李伟鸿
  12. ZigBee技术有哪些应用领域?
  13. C++大小写转换tolower/toupper以及transform函数
  14. “绿多多”公益+冠军链盟+关羽斩醛:良设板与“空间优造”的无醛与环保之路
  15. R语言 表达式对象的求值 eval
  16. 查询与退订中国移动短信服务
  17. Button点击事件
  18. ajax重要且常用参数
  19. 【经典】CSS技巧教程资源大全
  20. Running flutter pub get in flutter_app...卡死

热门文章

  1. 2017CCPC哈尔滨 A:Palindrome(manacher+树状数组)
  2. 动态ip解析 linux,ddwrt路由/linux动态解析ip(ddns)到dnspod配置
  3. H3C VLAN显示及维护
  4. 消息 15135,级别 16,状态 8,过程 sp_addextendedproperty,对象无效。不允许有扩展属性,或对象不存在。...
  5. 【python】进程与线程
  6. [转载] 用python写的一个简单的记事本
  7. [转载] java中抽象类的定义和使用
  8. LeetCode-336 Palindrome Pairs
  9. 一次频繁Full GC问题排查过程分享
  10. python之路 《四》 字典