汇聚心灵精彩人生
领您探索喜怒哀乐

什么是多线程-多线程有什么优缺点

发布日期:2020-01-31 13:22 作者:九个人生网

一、什么是多线程

什么是多线程?

多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。

使用线程的好处有以下几点:

·使用线程可以把占据长时间的程序中的任务放到后台去处理

·用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度

·程序的运行速度可能加快

·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较游泳了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

最关键的一点多线程可以让同一个程序的不同部分并发执行

如果你用过网际快车你就能理解了比如文件分成100部分10个线程文件就被分成了10份来同时下载110占一个线程占一个线程依次类推线程越多文件就被分的越多同时下载当然速度也就越快

一什么是多线程

以上数据内容来源于:百度什么是多线程搜狗什么是多线程360什么是多线程

二、什么是多线程并发

回答这个问题需要先弄清楚线程的概念和线程的生命周期。

线程是指程序代码的一次执行,是动态的过程。楼主在定义这个实现接口类的时候肯定复写了他的run方法。1和2是两个线程,也就是说虽然他们的run方法相同,但是是执行了两次的。

计算机中CPU的调度过程现在的电脑看上去能同时实现多任务,像是一边上QQ,一边听音乐,还可以一边上网。但计算机中的CPU只有一个,它没有分身术,不可能真正意义上实现同时运行这么多程序。而是采用了一种时间片轮转的方式,为每个应用程序赋予极短的时间,然后高速的在不同的程序间切换,至于每次切换到那个程序,这个要由CPU和线程的优先级来决定。

线程的生命周期创建时是初始化了这个线程,调用方法时,是让这个线程进入了可运行状态,注意是可运行,不是正在运行。就像上面说的,在某一时刻CPU具体要运行谁是由CPU和线程的优先级决定的。当线程被CPU运行时,就会开始执行run方法,但可能执行到一半时,CPU又被其他可运行线程抢走,而只能暂停执行。

程序线程的运行在我们使用命令来运行程序时,这时候已经开始了两个线程,一个是方法的线程,一个是垃圾回收的线程。当楼主调用方法开启另外两个线程时。这时候由于CPU来决定运行哪个线程。所以虽然1是先开启的,但在执行1时,CPU可能又去跑去执行线程了,然后就会开启2

还有我觉得主线程结束了,只不过其他两个线程仍在继续运行。所以会打印出结果。

楼主如果还有什么不明白的话可以继续问或者相互讨论。

二什么是多线程并发

以上数据内容来源于:百度什么是多线程并发搜狗什么是多线程并发360什么是多线程并发

三、多线程有什么优缺点

我的天,真是啥答案都有。例子嘛……请参见《程序设计》著北京大学出版社,第五版如若手头没有书,那……我只说4个字文件加载。自己领悟吧PS这涉及到输入输出中断相关问题,若是不太了解底层,还是别想太深……另外,3楼朋友,你说的是单核,若是存在多个处理器,它们可以并发处理线程,实现真正的“并行处理”,此时线程的执行并无严格的一致顺序,因此你的解释在多个CPU共存时肯定不成立。如果只有一个CPU,你的解释……这个跟死循环……怎么说呢,有一定关系但我认为,这更应该属于“线程安全”的讨论范畴,与单线程多线程的效率关系很牵强。

三多线程有什么优缺点

以上数据内容来源于:百度多线程有什么优缺点搜狗多线程有什么优缺点360多线程有什么优缺点
更多关于什么是多线程
更多相关:百度什么是多线程搜狗什么是多线程360什么是多线程