多线程编程的基础:
程序在完成一个目标时,存在明显的分工,且各部分处理速度不一样,并且是处理一批数据。如:在一个报表批处理程序中,首先,我们要读取原始数据(存在文件中),然后是数据处理,最后是显示或存储。从上面一个流程中,我们从程序上,可以分成:读取IO,运算和写入IO。从计算机原理上来讲,他们花费的时间是这样的:写入IO>读取IO>运算。如果只是处理一个文件,我们只能按照这个顺序,先读取,再处理,最后再运算。但是,如果我们处理一批文件时,选用多线程就比较好一些。如,处理两个文件A和B,在运算A时,此时计算机的IO空闲,我们可以在这一段时间去读取B文件;在写入A文件时,CPU空闲,可以运算B文件。这样就比顺序执行节省了不少时间。
多线程编程的优点:
- 资源利用率好(IO和CPU尽可能的高效利用,尽量减少空闲);
- 程序设计更简单(根据不同的分工,创建不同的线程,各线程分别处理自己关心的一部分);
- 程序的响应更快(花的时间更少)。
网友评论