分享

纠正多线程的认识误区,多线程是并发,而不是并行,即不是开多个窗口,而是共用cpu,效率上没有提升,只是没有让任务等待而已。

 一本正经地胡闹 2019-12-02

纠正多线程的认识误区,多线程是并发,而不是并行,即不是开多个窗口,而是多个任务共用cpu,理论上来讲效率上没有提升,只是没有让任务等待而已。

不是开多个窗口

不是开多个窗口

不是开多个窗口

那么,之前很多人认为的:多个线程是完全独立的在跑,即开了多个窗口再跑,是不对的。

那么基于这种错误认识建立起来的知识学习,也是错误的。

如syncronized等,都要重新理解。

synchronized不是保证同一个时刻只能有一个线程访问该方法,因为就算不加synchronized,某一个时刻也只能有一个线程执行该方法,因为某一个时刻只能有一个线程在运行,因为线程是并发的,公用cup,进行cpu轮换。

synchronized是保证了原子操作,即某被syncronized关键字修饰的方法一旦被调用,就不能被打断,即要等到add方法彻底执行完才行,期间要一直占用cpu,不能被抢去,这就是原子操作的含义。也是syncronized的正真意义。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多