多线程信息共享
线程之间有信息交流通讯,通过共享变量达到信息共享;
通过共享变量在多个线程中共享消息:
-static变量
-同一个Runnable类的成员变量
多线程信息共享问题:
-工作缓存副本
-关键步骤缺乏加锁限制
共享问题解决方法:
-采用volatile关键字修饰变量,保证不同线程对共享变量操作时的可见性;
-关键步骤加锁限制 :
1、互斥:某一个线程运行一个代码段(关键区),其他线程不能同时运行这个代码段;
2、同步:多个线程的运行,必须按照某一种规定的先后顺序来运行;
互斥是同步的一种特例
互斥的关键字是synchronized,synchronized代码块/函数,只能一个线程进入,并且使用synchronized会加大性能负担,但是使用简便;