zoukankan      html  css  js  c++  java
  • C#线程、委托

     public void RunCallRemind()
            {
                axJDComponent1 = new AxJDCompPort.AxJDComponent();
                axJDComponent1.SetupPorts();
                axJDComponent1.Open();
                callRemind线程 = new Thread(thread);//2、实列化线程,指定线程启动时传递给线程的委托(thread


                callRemind线程.Start();//3、启动线程
            }
            // 定义委托使用关键字 delegate
            public delegate void CallReamind委托();//4、定义委托

            Thread callRemind线程;//1、建立线程
            void thread(object o)//4、创建一个委托方法,在里面声明委托
            {
                while (true)//线程多少秒刷新一次
                {
                    //声明委托
                    CallReamind委托 callremind委托 = new CallReamind委托(RunCallReamind);//5声明委托,委托

    要做的事(RunCallReamind)
                    callremind委托();//6、运行委托
                    Thread.Sleep(100);//线程挂起多久一分钟更新一次
                }
            }
            void RunCallReamind()//7、委托做的事件(干这么多步,这里才是真正的事)实际要做的在这里
            {
                axJDComponent1.OnKeyPress += new AxJDCompPort.IJDComponentEvents_OnKeyPressEventHandler

    (axJDComponent1_OnKeyPress);
                axJDComponent1.OnRead += new AxJDCompPort.IJDComponentEvents_OnReadEventHandler

    (axJDComponent1_OnRead);
            }

    //总结:要用线程干一件事,可分为三步。1、是线程(定义【Thread callRemind线程】、实例化【callRemind线程 =

    new Thread(thread);】、启动【callRemind线程.Start();】、结束【】);2、实例化线程时线程执行的对象【void

    thread(object o)】,该对象里有(定义委托【public delegate void CallReamind委托()】、声明委托

    【CallReamind委托 callremind委托 = new CallReamind委托(RunCallReamind);】、运行委托【callremind委托();

    】);3、声明委托时,委托要做的事 【void RunCallReamind()】,我们真正需要做的事。

  • 相关阅读:
    Ubuntu各种indicator汇总
    python 命令行参数获取
    python 内置方法的时间复杂度
    SkipList 跳表
    HBase Snapshot功能介绍
    HBase内部操作日志说明
    HBase参数配置及说明
    HBase 在HDFS 上的目录树
    第一章 重构,第一个案例
    shell来start、stop、restart应用程序模板
  • 原文地址:https://www.cnblogs.com/qq1206583608/p/5165468.html
Copyright © 2011-2022 走看看