
关于多线程,是不是可以提高程序的运行速度?有什么利弊?C#或java中创建了多线程,如何使用?
关于多线程,是不是可以提高程序的运行速度?有什么利弊?C#或java中创建了多线程,如何使用?...
关于多线程,是不是可以提高程序的运行速度?有什么利弊?C#或java中创建了多线程,如何使用?
展开
3个回答
展开全部
首先你要知道计算机的构造,现有的计算机,CPU是非常快的,但是硬盘、打印机、网络通讯等等,相对CPU,是极其慢的,
所以 单线程程序,如果涉及这些慢操作,那么大部分时间CPU都在等待硬盘操作之类,
多线程操作,可以让多个任务并行执行,a任务等待硬盘响应时,让b任务去用cpu,所以,多线程不能提高单任务的运行速度,但是可以提高多个可以并发的任务速度。
举个简单的例子,烧开水的等待时间,你可以去准备茶叶,洗杯子等等
所以 单线程程序,如果涉及这些慢操作,那么大部分时间CPU都在等待硬盘操作之类,
多线程操作,可以让多个任务并行执行,a任务等待硬盘响应时,让b任务去用cpu,所以,多线程不能提高单任务的运行速度,但是可以提高多个可以并发的任务速度。
举个简单的例子,烧开水的等待时间,你可以去准备茶叶,洗杯子等等
2013-04-17
展开全部
提高程序的运行速度? 不行 充分利用CPU还差不多 CPU内部是串行的就是CPU在某个时间段只能执行某个命令 就是说CPU本身不是多线程的去执行你的命令 只是它的速度太快 所以你就觉得它是同时在执行多个程序 有时候我们需要用到多线程去处理一些问题 没有多线程根本无法去处理一些问题 了解?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-17
展开全部
提高速度需要看你是什么应用了,如果你的应用时单线程的那么它提高不了速度,如果是像windows这样的(又可以听歌,又可以编辑文本)就能提高运行速度的,多线程不好之处在于调试困难,java中的线程是靠继承Thread类来实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询