我对于多线程是否提高效率的理解

我对于多线程是否提高效率的理解


  多线程是否会提高效率?实际上多线程提高效率指的是提高cpu的利用率。
  并行指的是三个人吃三个苹果,并发指的是一个人吃三个苹果。
  多线程属于并发,并发指的是在多个线程上来回切换,在一个线程上做一点,再在另一个线程上做一点。多个线程之间来回切换,创造结束线程也会产生时间的消耗。那么单线程不会产生这类消耗,所以说单线程应该比多线程快么?
  问题出现在这里,事实上线程运行时难免会碰到读取数据库,IO等情况。在这种情况下cpu不会继续往下执行,而是会等待读取数据库的操作执行完毕或者IO操作执行完毕才会继续往下运行。这个时候cpu处于空闲状态。(注:io,读取数据库等操作的同时CPU也可以进行数据处理的操作)所以cpu并没有得到充分的使用。而多线程则在一个线程进行等待的同时,另一个线程进行数据处理,所以多线程的效率比单线程的效率高就体现在了这里。也就是提高了线程的使用率。
  个人见解,如有问题欢迎指出。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值