什么是多线程,多线程编程的好处是什么
2个回答
展开全部
举个例子,你要做饭,你要做的饭是米饭和一个炒菜。
如果是单线程,那么你可以如下做:
第一种方法:先炒菜,然后开始蒸米饭;
第二种方法:先蒸米饭,等米饭熟了再炒菜;
如果是多线程,那么你就可以如下做:
先蒸米饭,在蒸米饭的过程中去炒菜。
有些问题的解决用多线程会提高效率,比如上边的例子。但是有时不会提高效率,反而会影响效率:
比如,你要洗衣服,还打算做家庭作业(假设你是小学生,老师给你布置的家庭作业)。
如果是单线程:你要么洗完衣服做作业,要么做完作业洗衣服。
如果是多线程:你洗一分钟衣服做一分钟作业,交叉进行,显然有些时间都耗在了任务的切换上了。
所以,多线程主要用于,当一个任务需要不占用资源的等待的时候,可以使用空闲的资源
如果是单线程,那么你可以如下做:
第一种方法:先炒菜,然后开始蒸米饭;
第二种方法:先蒸米饭,等米饭熟了再炒菜;
如果是多线程,那么你就可以如下做:
先蒸米饭,在蒸米饭的过程中去炒菜。
有些问题的解决用多线程会提高效率,比如上边的例子。但是有时不会提高效率,反而会影响效率:
比如,你要洗衣服,还打算做家庭作业(假设你是小学生,老师给你布置的家庭作业)。
如果是单线程:你要么洗完衣服做作业,要么做完作业洗衣服。
如果是多线程:你洗一分钟衣服做一分钟作业,交叉进行,显然有些时间都耗在了任务的切换上了。
所以,多线程主要用于,当一个任务需要不占用资源的等待的时候,可以使用空闲的资源
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询