示例#1
0
        public void Thread_Id_Provider_Same_Thread_Test()
        {
            var provider = new ThreadIdProvider();
            int id1      = provider.GetThreadId();
            int id2      = provider.GetThreadId();

            Assert.IsTrue(id1 == id2);
        }
示例#2
0
        public void Thread_Id_Provider_Same_Provider_Instance_Dif_Thread()
        {
            var provider = new ThreadIdProvider();

            var id1 = GetThreadIdFromAnotherThread(provider);

            int id2 = GetThreadIdFromAnotherThread(provider);

            Assert.IsFalse(id1 == id2);
        }
示例#3
0
        public void Thread_Id_Provider_Same_Thread_Dif_Instance()
        {
            var provider1 = new ThreadIdProvider();
            var provider2 = new ThreadIdProvider();

            var id1 = provider1.GetThreadId();
            var id2 = provider2.GetThreadId();

            Assert.IsTrue(id1 == id2);
        }
示例#4
0
        private int GetThreadIdFromAnotherThread(ThreadIdProvider provider)
        {
            int    id     = 0;
            Thread thread = new Thread(delegate()
            {
                //Do somthing and set your value
                id = provider.GetThreadId();
            });

            thread.Start();

            while (thread.IsAlive)
            {
                Thread.Sleep(1);
            }

            return(id);
        }