400-082-9909
技术观点
Technical Viewpoint

通常,当我们处理大量的IO操作时或处理的情况需花大量的时间等等,比如:读写文件、视频图像的采集、处理. . .

首页 >
解读OA之多线程技术
标签: OA系统   OA   OA多线程   来源:      阅读次数: 612

通常,当我们处理大量的IO操作时或处理的情况需花大量的时间等等,比如:读写文件、视频图像的采集、处理、显示、保存等。传统简单的顺序执行方式不能满足我们所需。这些问题都可以用多线程技术得到很好的解决。

OA软件的“领头羊”九思软件,作为国家级的高新技术企业、双软认证企业、ISO9000质量体系认证企业以及“新世纪办公自动化系统的领军品牌”和“集团化协同办公系统最佳产品奖”的获得者,其研发的iThink协同管理软件是在协同管理理论和技术研究上的最新成果。其中高性能多并发的多线程技术是其最主要特征之一。

iThink协同管理软件使用多线程技术的好处:

1.提高CPU的使用率

OA软件采用多线程的方式去同时完成几件事情而互不干扰。

目前世界上大多数计算机只有一块CPU.因此,充分利用CPU资源显得尤为重要。当执行单线程程序时,由于在程序发生阻塞时CPU可能会处于空闲状态。这将造成大量的计算资源的浪费。而在程序中使用多线程可以在某一个线程处于休眠或阻塞时,而CPU又恰好处于空闲状态时来运行其他的线程,使用线程可以把占据长时间的程序中的任务放到后台去处理,这样CPU就很难有空闲的时候。因此,CPU资源就得到了充分地利用。    

2. 可以简化编程模型    

如果程序只完成一项任务,那只要写一个单线程的程序,并且按着执行这个任务的步骤编写代码即可。但要完成多项任务,如果还使用单线程的话,那就得在在程序中判断每项任务是否应该执行以及什么时候执行。如显示一个时钟的时、分、秒三个指针。使用单线程就得在循环中逐一判断这三个指针的转动时间和角度。如果使用三个线程分另来处理这三个指针的显示,那么对于每个线程来说就是指行一个单独的任务。这样有助于人员对程序的理解和维护。

3. 简化异步事件的处理    

当一个服务器应用程序在接收不同的客户端连接时最简单地处理方法就是为每一个客户端连接建立一个线程。然后监听线程仍然负责监听来自客户端的请求。如果这种应用程序采用单线程来处理,当监听线程接收到一个客户端请求后,开始读取客户端发来的数据,在读完数据后,read方法处于阻塞状态,也就是说,这个线程将无法再监听客户端请求了。而要想在单线程中处理多个客户端请求,就必须使用非阻塞的Socket连接和异步I/O.但使用异步I/O方式比使用同步I/O更难以控制,也更容易出错。因此,使用多线程和同步I/O可以更容易地处理类似于多请求的异步事件。    

4. 用户界面更吸引人

用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 

5. 节约成本    

提高系统的执行效率,既不需要在额外购买CPU,也不会用启太多的线程而占用大量的系统资源(在默认情况下,一个线程所占的内存空间要远比一个进程所占的内存空间小得多),而多线程可以模拟多块CPU的运行方式,因此,使用多线程是提高程序执行效率的最廉价的方式。

咨询电话:
010-62978780
售后电话咨询:
400-082-9909
关注我们: