public void StartChangeThreadPriority()
        {
            Exception      e = null;
            ThreadPriority threadPriority = ThreadPriority.Normal;
            Thread         thread         = new Thread(() =>
            {
                try
                {
                    Assert.True(Threading.GetCurrentThreadPriority() == ThreadPriority.Normal);
                    Threading.SetCurrentThreadPriority(ThreadPriority.Lowest);
                    lock (this)
                    {
                        threadPriority = Threading.GetCurrentThreadPriority();
                    }
                }
                catch (Exception ex)
                {
                    lock (this)
                    {
                        e = ex;
                    }
                }
            });

            thread.Start();
            thread.Join();
            lock (this)
            {
                Assert.True(threadPriority == ThreadPriority.Lowest);
                if (e != null)
                {
                    Assert.False(true, e.ToString());
                }
            }
        }