zoukankan      html  css  js  c++  java
  • 浅尝《Windows核心编程》之线程基础

    1.根据操作系统原理的说法,程序是运行中的进程,进程是其所拥有所有线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。这意味着线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作。线程使用的系统资源比进程少得多。

    2.线程拥有自己的一个内核对象和自己的一个堆栈,所以尽可能使用局部变量,而非static 或者global 变量。如果不得已需要在线程中进行通信,同步等操作,那么应该使用适当的方法。(请参看《浅尝<Windows核心编程>之线程用户级同步》)

    3.单个线程应该创建窗口的所有子窗口,即所有用户界面的组建(窗口)应该共享同一个线程。通常情况下,一个应用程序拥有一个用户界面线程,用于创建所有窗口,并且有一个GetMessage循环(原因是消息会被发送到窗口所在线程的消息队列中。另,关于消息循环,只有在线程使用了gui中的一些操作(通常是创建窗口之类)的动作之后才会创建。)进程中的所偶其他线程都是工作线程,它们与计算机或者i/o相关联,但是这些线程从不创建窗口。通常用户界面线程优先级高于工作线程。

  • 相关阅读:
    javascript游戏引擎
    BI 可视化
    nodeJS 相关开源项目
    bean validation 技术规范
    JForum 源码分析
    lemon OA 我长时间经历的第一个开源项目
    Rete算法
    摘自知乎--mysql
    copy and paste ,做到这样也很牛逼了
    servlet 3.0特性说明
  • 原文地址:https://www.cnblogs.com/aicro/p/1497350.html
Copyright © 2011-2022 走看看