当前位置:新励学网 > 秒知问答 > 单线程和多线程的区别单线程是什么意思

单线程和多线程的区别单线程是什么意思

发表时间:2024-07-28 04:18:27 来源:网友投稿

假如说现在有下面四个问题:

1+1=a,1+2=b,2+3=c,4+5=d

单线程就是一个接一个的计算:

第一步:

1、+1=2,第二步:

1、+2=3,第三步:2+3=5,第四步:4+5=9

然后告诉你结果:

a=2, b=3, c=5, d=9

多线程咱们就说四线程吧,就是同时计算四个问题:

第一步:

线程一:

1、+1=2

线程二:

1、+2=3

线程三:2+3=5

线程四:4+5=9

然后告诉你结果:

a=2, b=3, c=5, d=9

可见多线程可以同时处理多个计算,计算能力似乎是成倍成比例上涨的,但是它有一个问题就是多个运算必须独立,比如:

1+2=a,a+3=b

这种计算你不知道a就没法计算b,这种情况下就没办法多线程计算了。

再就是“竞争状态”:

就是说多个线程互相等待对方结束,或者等待对方释放资源。单线程的话所有的操作一定会是一个接一个的完成,所以不存在这个状况。但如果多线程的话,调度没有做好就很容易发生这种事情,比如不小心同时运行了本不应该同时运行的两个线程,或者其中一个线程没有在预定时间内结束就启动了第二个线程。

单线程的好处就是易于编程,不需要考虑太多状况,缺点是效率低。

多线程的好处是效率高,性能高,但是不是所有的运算都可以被并行化,而且容易出现各种意外的稀奇古怪的bug。

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!