System.Tests.EnvironmentTests.CurrentManagedThreadId_DifferentForActiveThreads C# (CSharp) 메소드

CurrentManagedThreadId_DifferentForActiveThreads() 개인적인 메소드

private CurrentManagedThreadId_DifferentForActiveThreads ( ) : void
리턴 void
        public void CurrentManagedThreadId_DifferentForActiveThreads()
        {
            var ids = new HashSet<int>();
            Barrier b = new Barrier(10);
            Task.WaitAll((from i in Enumerable.Range(0, b.ParticipantCount)
                          select Task.Factory.StartNew(() =>
                          {
                              b.SignalAndWait();
                              lock (ids) ids.Add(Environment.CurrentManagedThreadId);
                              b.SignalAndWait();
                          }, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default)).ToArray());
            Assert.Equal(b.ParticipantCount, ids.Count);
        }