You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.8 KiB
C#

2 years ago
using Xunit.Abstractions;
namespace MultiThreadingStudy.xUnitTest
{
public class ThreadTest:IDisposable
{
private readonly ITestOutputHelper _output;
public ThreadTest(ITestOutputHelper testOutput)
{
_output = testOutput;
}
/// <summary>
/// <20><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>Ϊ<EFBFBD><CEAA>̨<EFBFBD>߳<EFBFBD>
/// <20><><EFBFBD>ۣ<EFBFBD><DBA3>ڲ<EFBFBD><DAB2>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>(<28><>ʹ<EFBFBD><CAB9><EFBFBD>ó<EFBFBD>ǰ̨<C7B0>߳<EFBFBD>)<29><>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>Ԫ<EFBFBD><D4AA><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>
/// <20><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>û<EFBFBD><C3BB>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>߳̽<DFB3><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
[Fact]
public void TestRunThread_Test()
{
_output.WriteLine($"<22><><EFBFBD>߳<EFBFBD>Id={Thread.CurrentThread.ManagedThreadId}, <20>Ƿ<EFBFBD><C7B7><EFBFBD>̨<EFBFBD>߳<EFBFBD>={Thread.CurrentThread.IsBackground}");
//<2F><><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>Ϊ<EFBFBD><CEAA>̨<EFBFBD>߳<EFBFBD>
Assert.True( Thread.CurrentThread.IsBackground);
}
/// <summary>
///
/// </summary>
[Fact]
public void Test1()
{
_output.WriteLine($"<22><><EFBFBD>߳<EFBFBD>Id={Thread.CurrentThread.ManagedThreadId}, <20>Ƿ<EFBFBD><C7B7><EFBFBD>̨<EFBFBD>߳<EFBFBD>={Thread.CurrentThread.IsBackground}");
Thread t = new Thread(() =>
{
_output.WriteLine($"<22><><EFBFBD>߳<EFBFBD>Id={Thread.CurrentThread.ManagedThreadId}, <20><><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>={Thread.CurrentThread.Name}");
_output.WriteLine($"{Thread.CurrentThread.Name} <20><><EFBFBD>̣߳<DFB3><CCA3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>");
Thread.Sleep(100);
_output.WriteLine($"{Thread.CurrentThread.Name} <20><><EFBFBD>̴߳<DFB3><CCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ѣ<EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>");
})
{
Name = "FirstThread",
Priority = ThreadPriority.Normal,
IsBackground = false,
};
t.Start();
t.Join();
}
public void Dispose()
{
}
}
}