Exemple #1
0
 protected override void OnStart(string[] args)
 {
     if (this.InitSysConstVar())
     {
         InitAsynchandler.BeginInvoke(null, null);
     }
 }
Exemple #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            AppendText(string.Format("Program类中的Main()函数的线程ID是{0}", Thread.CurrentThread.ManagedThreadId)); //Environment.CurrentManagedThreadId
            if (Thread.CurrentThread.IsThreadPoolThread)                                                    //判断当前线程是否托管在线程池上
            {
                AppendText(string.Format("Program类中的Main()函数的线程托管于线程池"));
            }
            else
            {
                AppendText(string.Format("Program类中的Main()函数的线程没有托管在线程池上"));
            }
            Console.WriteLine();

            //把Method 方法分配给委托对象
            AsyncHandler async = AsyncMethod; //

            //发起一个异步调用的方法,返回IAsyncResult 对象
            IAsyncResult result = async.BeginInvoke(null, null);

            //这里会阻碍线程,直到方法执行完毕
            async.EndInvoke(result);
        }
 public virtual IAsyncResult BeginCloseOutputSession(TimeSpan timeout, AsyncCallback callback, Object state)
 {
     return(async_method.BeginInvoke(timeout, callback, state));
 }