针对不同的应用场景选用不同的语言

很多人都知道线程与进程的概念,比较笼统的一个标准就是当你的任务执行时间大于0.2S那么就是用多任务,让它自己去执行,还有很多人都知道,不管是在单片机中还是在相对高端的处理器中比如ARM CotexA系列的芯片他们都有一个东西是DMA,也就是说在传输数据的时候不需要CPU去执行了,这样大大减少了CPU的工作时间,但是DMA并不是万能的,有的任务类型是必须要使用CPU去执行的,类型如下:

1.计算密集型
当任务的内容是进行大量计算的时候比如高清视频解码,音频解码等超大计算量的任务的时候,会很大一部分小号CPU的资源,但是这类任务又要求速度非常快,当你的任务过多的时候,那么CPU有很大一部分时间都用在了切换任务上,这类的任务最好的使用方法就是任务数等于CPU的个数,而且要使用那么执行效率非常高的,比如c语言。像高级语言比如python这类语言他的执行速度是很慢的,并不适合去做高速大计算量的任务。
2.IO密集型
什么任务是IO类型呢,比如操作的是外部IO设备,通俗的说就是输入输出的设备,比如web,磁盘等操作,这类任务的特点就是消耗CPU特别小,大部分时间都是在等待IO操作是否完成上,本身速度要求就不快,那么最好的语言就是python语言了代码操作简单,而且IO的速度是远没有CPU速度快的,所以最好使用那种代码简洁,而且不需要急速的语言。

你可能感兴趣的:(编程语言的选择,应用,线程,处理器)