[Go Back]

[請指教:高老師的免費on-line教學視頻]   

 

1.1  多线程的意义

     所谓「线程」(Thread) 是指一串连续的执行动作,以达成一项目的。而「多线程」(Multithread),就是指一个系统内有数串连续性的动作同时在进行。在计算机中,若计算机拥有多颗CPU,则每颗CPU 可各照顾一个线程,于是可多个线程同时间进行。若只有单一CPU,则此CPU可同时(Concurrently)照顾数个线程。无论是多CPU或单一CPU的计算机,多线程功能都可增加执行效率。

                [歡迎光臨 高煥堂 網頁:http://www.cnblogs.com/myEIT/ ]

   这种现象并非计算机才有,在日常生活中,处处可见这种多绪的情形,我们不是常一边煮饭一边做菜吗?煮饭是一个线程,做菜则是另一个线程,我们能同时照顾这两个线程。多线程功能可带来的好处有:

  • 提升系统的效率
  • 让用户拥有更舒适、流畅的感觉
  • 更容易设计及撰写系统

     像Java、C++等现代的计算机语言几乎都具有多线程(Multithread)观念,让程序师们能够易于使用这新技巧来减化GUI 动画的设计工作,也可增加其执行效率。例如,当您想一边看动画,一边听音乐时,计算机能同时产生两个线程──“秀动画”及“播音乐”。甚至可产生另一条线程来为您做特殊服务,如让您可选择动画及音乐。

    从程序开发的角度来看,由于计算机系统会自动安排CPU来并行(Concurrently)处理各线程里的指令,则各线程内的控制逻辑(Control Logic)会较为独立。例如,“秀动画”及“播音乐”部分可互为独立。如此,程序的逻辑清晰许多,写起程序来,也容易多了。如果计算机系统并未支持多线程观念,那么当我们想要一边秀动画,一边播音乐时,就得使一个大循环来控制一边秀动画,一边播音乐,如下图1-1所示。如此,将各种不同用途的指令混杂在一起,程序就难写多了。因之,善用多线程的观念和功能,可让程序的结构更清楚,也更易于撰写。

          

  图1-1  传统单线程之运作情形

     多线程观念和功能,可让多线程能并行执行同一个类别,或者是不同的类别。在Android平台里也不例外,无论是在Java层或是C++层,都常常见到多线程并行处理的情形。

[Go Back]