C语言编程技巧-使用多线程提速

C语言编程技巧-使用多线程提速,第1张

C语言编程技巧-使用多线程提速 使用多线程提升4-5倍运行速度 一、linux 中使用多线程能提升多少速度?
  1. 假设要对200万个随机数进行加密。

  2. 如果使用单线程和多线程来解决,分别要耗时多久呢?代码

    1. 我统计了一下在树莓派上,单线程运行结果差不读8s左右:

      Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878758.124958
      
      Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878766.341765
      
      
    2. 如果使用多线程运行结果,差不多2s左右:

      Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878766.341874
      
      Debug>>>17-多线程优化运行速度/17-thread_speed.c->print_time_now()->line.21:start:1640878768.419132
      
  3. 而如果你是用多线程去做是用插入排序的算法排序。速度能差20多倍。

    1. 但是我觉得是用多线程做排序,已经类似归并排序方法了。所以还是以加密算法差距为准。
二、实际案例
  1. 我在实际情况中,使用这种方法解决了一个这样的问题。
    1. 嵌入式设备中。用户希望对电话本的数据进行后台加密。
    2. 最多有2000条,每条数据需要先做拆分,分离出需要的数据,和现有数据比对,没有重复,再进行加密。
    3. 如果使用单线程做,用户点击save之后,需要等待14s左右。
    4. 使用了多线程,只需要2-3s。14s的等待用户是无法接受的。但是2-3s,在数据多的情况下,用户是可以理解的。
    5. 可见这个技巧的重要性。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5685922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存