Пример #1
0
        /*private static void EndSum(IAsyncResult ar)
         * {
         *  AsyncSumDel del = (AsyncSumDel)ar.AsyncState;
         *  UInt64 res = del.EndInvoke(ar);
         *  Console.WriteLine("Сумма = " + res);
         * }*/

        private static void EndSum(IAsyncResult ar)
        {
            AsyncFibDel del = (AsyncFibDel)ar.AsyncState;
            UInt64      res = del.EndInvoke(ar);

            Console.WriteLine("Fib = " + res);
            // Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
        }
Пример #2
0
        /*public static UInt64 FibResult(UInt64 n)
         * {
         *  // Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
         *  return Fib(n);
         * }*/

        private static IAsyncResult BuildTask(ulong pos, string tag, List <int> localResult)
        {
            AsyncFibDel del = Fib;

            return(del.BeginInvoke(pos, (ar) => {
                AsyncFibDel func = (AsyncFibDel)ar.AsyncState;
                UInt64 res = func.EndInvoke(ar);
                Console.WriteLine($"pos = {pos}; tag = {tag}; res = {res}");
            }, del));
        }