毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

Windows Phone多线程测试代码最后显示的出来的结果有时是0

更新时间:2012-5-24:  来源:毕业论文

Windows_Phone多线程测试代码最后显示的出来的结果有时是0

小弟写了个多线程的测试,为何最后显示的出来的结果有时是0,有时是50呢,愿各位大侠不吝赐教啊,代码如下:

C# code public partial class MainPage : PhoneApplicationPage
    {
        int num = 0;

        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Thread th1 = new Thread(new ThreadStart(GetNum));
            Thread th2 = new Thread(new ThreadStart(GetNum));

            th1.Start();
            th2.Start();

            textBlock1.Text = num.ToString();
        }

        private void GetNum()
        {
            for (int i = 0; i < 50; i++)
            {
                num++;
            }
        }
    }
出现这种情况,说明执行到这句textBlock1.Text = num.ToString();的时候,2个线程有可能还未开始执行,或者已经执行完了,不是同步的,这种情况不是可预见的,你试着把数值50改大一点,比如改成65555,执行后的结果就会有很多种情况了。
public partial class MainPage : PhoneApplicationPage
    {
        int num = 0;

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。