目标:
    1:知道多线程间共享同一个全局变量(同时处理这个全局变量)会产生资源竞争等问题
    2:掌握解决多线程间资源竞争的方法(join方法)

    一:多线程间共享同一个全局变量(同时处理这个全局变量)会产生资源竞争等问题

    你问我答:多线程什么情况会产生资源竞争的问题呢?

    答:两个(多个)子线程同时处理一个公共资源时(比如说同一个全局变量),就会产生资源竞争的问题

    图片详解

    image.png

    问题代码解释

    image.png

    二:解决多线程间资源竞争的方法—— join()

    功能:可以有效解决多线程间资源竞争问题,即让一个指定线程先执行完在执行其他线程,即从多线程变为单线程但是会造成程序效率变低
    语法:指定线程 . join()

    注意事项:

    1:子线程的join方法要在子线程的start方法后加入!

    2:
    给某个子线程加入join方法后,这个子线程执行任务时另一个子线程则不启动了,等待这个子线程执行结束,另一个子线程才启动继续执行任务**

    快速代码体验

    image.png