首页新闻找找看学习计划

可变字段应用示例,运行结果都是一样的!为什么和书上说的两样!

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-28 10:09

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace 可变字段应用示例
{
    class Program
    {
        public static int result;
        public static volatile bool finished; //不管有没有声明为volatile,结果一样.直接显示169
        static void Thread2()
        {
            result = 169;
            finished = true;
            //Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Console.Title = "可变字段应用示例";
            result = 0;                        //这句是我自己加上去的!结果还是一样
            finished = false;
            //在一个新进程中执行Thread2()
            new Thread(new ThreadStart(Thread2)).Start();
            //等徐Thread2发信号,通过设置finished为true而得到结果
            for (; ; )
            {
                if (finished)
                {
                    Console.WriteLine("result={0}\n", result);
                    return;
                }
            }
        }
    }
}

问题补充:

无人能解吗?

keyen的主页 keyen | 初学一级 | 园豆:135
提问于:2012-05-30 09:35
< >
分享
最佳答案
1

书上的意思是说

 public static volatile bool finished

你把这个改一下   : public static bool finished  去掉 volatile 关键字

 

然后再看result的值

收获园豆:10
┢┦偉 | 小虾三级 |园豆:1240 | 2012-05-30 09:49

我去掉过!还是一样的!有和没有一样!

keyen | 园豆:135 (初学一级) | 2012-05-30 11:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册