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

很多人都知道线程与进程的概念,比较笼统的一个标准就是当你的任务执行时间大于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速度快的,所以最好使用那种代码简洁,而且不需要急速的语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值