搜尋

會員登入

搜尋

導覽

會員

多核心软体开发的关键:Pthread

任务切割的目的,在於将应用程式里的计算工作,切割後指派至另一个处理器核心;让应用程式,能真正使用多核心的计算能力。这就是为什麽多核心软体的设计,决定了多核心系统效能。上述的观念,就是「平行处理」。


从应用程式的层面,就要考虑多核心的设计。如何将一个计算工作切割出来,并指派至另一个处理器核心?方式就是使用multi-thread。以Linux作业系统为例,multi-thread程式设计使用一个称为pthread的程式库;因此,学习pthread程式设计,就是打好多核心软体开发的第一个功课。


Android作业系统同样是使用pthread程式库,虽然Android的pthread程式库,与Linux的pthread程式库「是二个2不同的实作版本」,但同样是依循POSIX的标准(pthread是POSIX thread的缩写),因此,有志进入多核心软体开发的工程师,可以先在Linux系统底下,学习Linux pthread程式设计。


此外,Android应用程式与框架层,采用Java程式语言撰写,并且采用物件导向的基础理论。目前所谈论的pthread程式设计,则是用C或C++撰写,我们将透过pthread所产生的thread称之为native thread。应用程式使用Java语言撰写,所产生的thread称为Java thread。Java thread本质上是一个物件,因此也称为Thread object。


应用程式与框架层的Thread object与更底层的Native thread关系为何?答案是决取於Java Virtual Machine的设计;JVM的Thread model设计,将会影响Java thread的行为,在多核心系统上,Thread model也会影响Java thread的效能。(作者:Jollen Chen)


(本文经仕橙部落同意转载到CTimes科技网)


Card Image

PIC32-BZ6:新一代高度整合单晶片无线平台

随着智慧设备的射频(RF)设计复杂性日益增加,传统无线解决方案通常需要多晶片组合才能新增功能,或频繁重新设计才能满足不断升级的行业标准。为此,Microchip推出全新高度整...

随着智慧设备的射频(RF)设计复杂性日益增加,传统无线解决方案...