多线程

  1. 对于多线程,应该尽量保证共享变量单独一个变量;while(!boolflg){...};将会被处理为if(!boolflg){while(true)}这是因为spothot vm解析的原因;对于单变量,可以通过添加violate关键字,来保证读到的永远是最近的值;还可以通过封装对于booflg字段的读写来实现,以上两种方式保证了对于VM的解析,至少不会被解析为上面的样子;
原文地址:https://www.cnblogs.com/xiashiwendao/p/5230385.html