多线程可以提高程序执行效率吗
2个回答
2017-06-15
展开全部
当在多个cpu的时候,计算机可以同时处理多个事件,多线程当然会快。
当只有一个cpu的时候,可能快也可能慢,你想想一个任务可以细分为多个子任务,每个都需要cpu资源和内存资源。
如果是单线程的话,你就只能等处理完一个子任务的时候才能接下去处理下一个子任务。而在多线程的情况下,你可以在第一个子任务用完cpu资源的时候,假如此时他只需要io资源(举个例子,比如说读写文件),这个时候在等待他处理的时候,可以同时处理第二个任务,孰快孰慢,自然就知道了。
当然多线程要用在合适的场景,有些时候是时候使用多线程,有些时候是不适合的。
当只有一个cpu的时候,可能快也可能慢,你想想一个任务可以细分为多个子任务,每个都需要cpu资源和内存资源。
如果是单线程的话,你就只能等处理完一个子任务的时候才能接下去处理下一个子任务。而在多线程的情况下,你可以在第一个子任务用完cpu资源的时候,假如此时他只需要io资源(举个例子,比如说读写文件),这个时候在等待他处理的时候,可以同时处理第二个任务,孰快孰慢,自然就知道了。
当然多线程要用在合适的场景,有些时候是时候使用多线程,有些时候是不适合的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询