有消息的线程，即UI线程（User Interface Thread）创建了窗体及窗体上的各种控件，系统为UI线程分配一个消息队列用于窗口消息的派送（dispatch）。为了使窗口处置这些消息，线程必须有它自己的“消息循环”。只有当一个线程调用Windows API中的GDI（Graphics Device Interface）和User函数时，操作系统才会将其看成是一个UI线程，并为它分配一些另外的资源，创建一套线程消息队列；否则，操作系统把非UI线程视作普通工作线程（Workhorse），不会为它创建消