ReleaseObject() public static method

public static ReleaseObject ( PooledObject obj ) : void
obj PooledObject
return void
コード例 #1
0
        public static void Main(string[] args)
        {
            var po01 = Pool.GetObject();

            po01.TempData = DateTime.Now.ToString("s");
            Console.WriteLine("First pool object created at {0}", po01.CreatedAt);
            Thread.Sleep(1000);

            var po02 = Pool.GetObject();

            po02.TempData = Guid.NewGuid().ToString("N");
            Console.WriteLine("Second pool object created at {0}", po02.CreatedAt);
            Thread.Sleep(1000);

            Pool.ReleaseObject(po01);
            var po03 = Pool.GetObject();

            po03.TempData = DateTime.Now.ToString("s");
            Console.WriteLine("Third pool object created at {0}", po03.CreatedAt);

            Console.WriteLine("Second pool object created at {0}", po02.CreatedAt);
            Pool.ReleaseObject(po02);

            Console.ReadLine();
        }
コード例 #2
0
        /// <summary>
        /// Method which is responsible for getting an object from poll
        /// and then display info of this object.
        /// </summary>
        /// <param name="company">The company.</param>
        static void DisplayPooledObject(Company company)
        {
            MobilePhone mobilePhone = Pool <MobilePhone> .GetObject();

            mobilePhone.Company = company;

            Console.WriteLine(mobilePhone);
            Pool <MobilePhone> .ReleaseObject(mobilePhone);

            Thread.Sleep(1500);
            _barrier.SignalAndWait();
        }
コード例 #3
0
        public static void Main(string[] args)
        {
            var po01 = Pool.GetObject();

            po01.TempData = DateTime.Now.ToString("s");
            var po02 = Pool.GetObject();

            po02.TempData = Guid.NewGuid().ToString("N");
            Thread.Sleep(100);
            Pool.ReleaseObject(po01);
            Pool.ReleaseObject(po02);
            Console.ReadLine();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            Pool.PrintPool();
            var user1 = Pool.GetObject();

            Pool.PrintPool();
            var user2 = Pool.GetObject();

            Pool.PrintPool();
            Pool.ReleaseObject(user2);
            Pool.PrintPool();
            var user3 = Pool.GetObject();

            Pool.PrintPool();
            var user4 = Pool.GetObject();

            Pool.PrintPool();
            var user5 = Pool.GetObject();

            Pool.PrintPool();

            Console.WriteLine("Stop here");
        }