示例#1
0
        public void TestAcquireFewAndRelease()
        {
            var op = new ObjectPool <PoolItem>(
                () => new PoolItem(42, "The Hitchhiker's Guide to the Galaxy"),
                100,
                10);

            var os = op.AcquireObjects(7).ToList();

            Assert.AreEqual(93, op.AvailableTokenCount);
            Assert.AreEqual(7, os.Count);

            Thread.Sleep(new Random().Next(10, 200));
            os.ForEach(o => op.ReleaseObject(o));

            Assert.AreEqual(100, op.AvailableTokenCount);
        }