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(); }
/// <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(); }
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(); }
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"); }