c# 多线程实现和获取方法中的对应的地址

来源:互联网 发布:零基础学大数据靠谱吗 编辑:程序博客网 时间:2024/05/20 06:56

        为了检测多线程中同时调用一个方法,方法中的局部变量是否会替换的测试,结果为:同一个子线程的变量的地址一直是一致的,不同的子线程中的变量的地址是不一致的,代码如下:

/********************************************* * CLR 版本:       4.0.30319.42000 * 类 名 称:       Program * 机器名称:       MS-20170310FLQY * 命名空间:       Choj * 文 件 名:       Program * 创建时间:       2017-09-03 16:20:48 * 作    者:       Choj * 说    明:      * 修改时间: * 修 改 人: * *********************************************/using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Practices.Unity;using Microsoft.Practices.Unity.Configuration;using System.Configuration;using System.Threading;namespace Choj{    class Program    {        static void Main(string[] args)        {            new Test().Init();        }    }    public class Test    {        public void Init()        {            for (int i = 0; i < 10; i++)            {                Thread thread = new Thread(Test1);                thread.Start((object)i);            }            Console.ReadKey();        }        /// <summary>        ///         /// </summary>        public void Test1(object i)        {            for (int j = 0; j < 100; j++)            {                int a = j;                unsafe                {                    Console.WriteLine();                    Console.WriteLine(string.Format("i:{0}->*(&a)->(int)&a:{2}", i, *(&a), (int)&a));                    Console.WriteLine();                }            }        }    }}


阅读全文
0 0
原创粉丝点击