Advertisement

MESI协议与Volatile关键字(解决多线程变量同步问题)

阅读量:

多线程下变量更新不同步问题

验证一种通过调整while循环中的标志位以终止线程的实现方式。将循环体内容设置为空,启动线程后进入无限循环状态。当在主线程中将标志位flag设置为false时,观察到线程并未停止(循环未退出)。相关代码如下:

复制代码
    public class Test {
        boolean flag=true;
    	    public static void main(String[] args){
    	    	Test test = new Test();
    	    	test.demo();
    	    }	
    	    public void demo(){
    	    	Thread t1 = new Thread(){	    		
    		    		public void run()  //重写run方法
    		    		{
    		    			while(flag==true)  
    		    			{			    		
    		    			}
    		    			System.out.println("线程结束了。。。。。。。。");
    		    		}		
    	    	};	    	
    	    	t1.sta

全部评论 (0)

还没有任何评论哟~