Beispiel #1
0
        public void SimpleAddStuff()
        {
            for (int k = 0; k < 1000; k++)
            {
                var student = new ConcurrentArrayList <int>();


                var r = new Random();
                for (var j = 0; j < 100; j++)
                {
                    student.EnqueAdd(r.Next(0, 100));
                }

                Assert.Equal(100, student.Count);
            }
        }
Beispiel #2
0
        public async Task AddStuff()
        {
            for (int k = 0; k < 1000; k++)
            {
                var student = new ConcurrentArrayList <int>();

                var tasks = new List <Task>();
                for (var i = 0; i < 20; i++)
                {
                    tasks.Add(Task.Run(() =>
                    {
                        var r = new Random(i);
                        for (var j = 0; j < 100; j++)
                        {
                            student.EnqueAdd(r.Next(0, 100));
                        }
                    }));
                }

                await Task.WhenAll(tasks.ToArray());

                Assert.Equal(2000, student.Count);
            }
        }