word
立的执行单元,相当于一个子程序,它对应于 JAVA 中的 Thread 类对象。单独
一个执行程序运行时,缺省地包含了一个主线程,主线程以函数地址的形式出
现,提供程序的启动点,当主线程终止时,进程也随之终止。根据实际需要,应
用程序可以分解成许多独立执行的线程,每个线程并行的运行在同一进程中
[4]
。
一个进程中的所有的线程都在此进程的虚拟地址空间中,进展使用该进程
的系统资源和全局变量。操作系统给每个线程进展分配不同的 CPU 时间片,
CPU 只执行一个时间片内的线程,多于一个时间片的线程在执行时相应的线程
在 CPU 内进展轮流执行,由于每个时间片时间很短,但是对于用户来说就像各
个线程在计算机中的处理是并行的。操作系统是根据线程的优先级来安排 CPU
的时间,优先级高的线程要优先运行,优先级低的线程如此等待高优先级的运
行完之后再运行
[5]
。
Windows 提供了两种线程:工作线程〔又称为后台线程〕和用户界面线程。
用户界面线程通常用来处理用户的输入并响应各种事件和消息,其实,应用程
序的主执行线程 Thread 对象就是一个用户界面线程,当应用程序启动时自动创
建和启动,同样它的终止也意味着该程序的完毕,进程终止。工作线程用来执
行程序的后台处理任务
[6]
。
基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模
版本,广域网上的即时通信工具,如今一般采用 UDP 或者 TCP 协议体系来实
现 ,开发技术已经比拟成熟,比如较早的 MSN,ICQ Messanger, 通这些国外开
发的产品,还有国产的有名的 QQ,新浪 UC,LAVA-LAVA 等,这些工具统统都
实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以与文件
传输的主要功能,但是也各有各的特色,比如 ICQ 的巨大客户群,MSN 的个性
化表情,通的易操作性等。而 QQ 也具有一个相当方便的屏幕截图功能,另外
就是,所有上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在
使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶
段,其实现方式属于商业某某,具体细节不可能得知,但是它在大的方面无非
就是各种利用各种平台上的网络通信接口,建构基于下层 TCP/IP,或者 UDP/IP
2 / 36