[fix]修正UdpServer在接收广播时连续启动接收的错误,在StarAgent中,此时可能收到广播包,SocketFlags是Broadcast,需要清空,否则报错“参考的对象类型不支持尝试的操作”; 无需设置SocketOptionName.PacketInformation,在ReceiveMessageFromAsync时会自动设置,并且支持ipv6;
石头 编写于 2024-10-10 00:36:00 石头 提交于 2024-10-10 00:45:43
X
using System;
using NewLife.Log;
using Xunit;

namespace XUnitTest.Common
{
    public class LockTests
    {
        [Fact(DisplayName = "测试lock是否阻塞本线程")]
        public void TestLock()
        {
            lock (_lock)
            {
                Test(3);
            }
        }

        private Object _lock = new Object();
        void Test(Int32 n)
        {
            // lock并不会阻塞本线程,同一个线程第二次lock同一个对象时,直接进去
            XTrace.WriteLine("LockTestA {0}", n);
            lock (_lock)
            {
                XTrace.WriteLine("LockTestB {0}", n);
                if (n > 1) Test(n - 1);
                XTrace.WriteLine("LockTestC {0}", n);
            }
        }
    }
}