Beispiel #1
0
    static void Main()
    {
        ThreadPoolDemo tpd = new ThreadPoolDemo();

        for (int i = 0; i < 2; i++)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task1));
            ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task2));
        }
        Console.Read();
    }
Beispiel #2
0
 public static void Main()
 {
     ThreadPoolDemo.Go();
     ExecutionContexts.Go();
     CancellationDemo.Go();
     TaskDemo.Go();
     ParallelDemo.Go();
     ParallelLinq.Go();
     TimerDemo.Go();
     FalseSharing.Go();
 }
    static void Main()
    {
        //ThreadPool is an abstraction that allows for automatic management of
        //Available process threads without manually setting thread properties.
        ThreadPoolDemo tpd = new ThreadPoolDemo();

        for (int i = 0; i < 2; i++)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task1));
            ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task2));
            //The QueueUserWorkItem method takes a callback function to execute on the ThreadPool.
            //The Threads in the the ThreadPool will be assigned these work items.
        }

        Console.Read();
    }
Beispiel #4
0
        static void Main(string[] args)
        {
            ThreadPoolDemo tpd = new ThreadPoolDemo();

            for (int i = 0; i < 2; i++)
            {
                // WaitCallBack er for at tråden venter på at eksekvere til forrige tråd er færdig.
                ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task1));
                ThreadPool.QueueUserWorkItem(new WaitCallback(tpd.task2));
                // WaitCallBack bliver kaldt implisit derfor er det ikke nødvendigt mere
                ThreadPool.QueueUserWorkItem(tpd.task1);
                ThreadPool.QueueUserWorkItem(tpd.task2);
            }

            Console.Read();
        }
        public ILearner GetLearner(int result)
        {
            ILearner learner = null;

            switch (result)
            {
            case 1:
                learner = new ContextSwitching(1000);
                break;

            case 2:
                learner = new SharedResources();
                break;

            case 3:
                learner = new LocalMemory();
                break;

            case 4:
                learner = new ThreadPoolDemo();
                break;

            case 5:
                learner = new Concepts();
                break;

            case 6:
                learner = new ExceptionHandling();
                break;

            case 7:
                learner = new TasksIntro();
                break;

            case 8:
                learner = new TasksIOBound();
                break;

            case 9:
                learner = new TasksChaining();
                break;

            case 10:
                learner = new LocksAndMonitor();
                break;

            case 11:
                learner = new NestedLocks();
                break;

            case 12:
                learner = new DeadLocks();
                break;

            case 13:
                learner = new ReaderWriterLock();
                break;

            case 14:
                learner = new MutexLock();
                break;

            case 15:
                learner = new Semaphores();
                break;

            default:
                learner = new ContextSwitching(10);
                break;
            }
            return(learner);
        }