1.根据操作系统原理的说法,程序是运行中的进程,进程是其所拥有所有线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。这意味着线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作。线程使用的系统资源比进程少得多。
2.线程拥有自己的一个内核对象和自己的一个堆栈,所以尽可能使用局部变量,而非static 或者global 变量。如果不得已需要在线程中进行通信,同步等操作,那么应该使用适当的方法。(请参看《浅尝<Windows核心编程>之线程用户级同步》)
3.单个线程应该创建窗口的所有子窗口,即所有用户界面的组建(窗口)应该共享同一个线程。通常情况下,一个应用程序拥有一个用户界面线程,用于创建所有窗口,并且有一个GetMessage循环(原因是消息会被发送到窗口所在线程的消息队列中。另,关于消息循环,只有在线程使用了gui中的一些操作(通常是创建窗口之类)的动作之后才会创建。)进程中的所偶其他线程都是工作线程,它们与计算机或者i/o相关联,但是这些线程从不创建窗口。通常用户界面线程优先级高于工作线程。