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()】,我们真正需要做的事。

  • 相关阅读:
    尤瓦尔•赫拉利简史三部曲读书笔记
    5星|《城市与国家财富》:经济发展的基本单位是城市而不是国家
    oracle SQL Develop导出数据库中的表格数据到excel
    selvert的过滤器filter处理中文乱码
    jsp中四种传递参数的方法
    Mybatis中配置Mapper的方法
    JAVA文件中获取路径及WEB应用程序获取路径方法
    MyEclipse 常用设置
    Java连接oracle数据库的OCI和thin
    Java连接oracle数据库的OCI和THIN
  • 原文地址:https://www.cnblogs.com/qq1206583608/p/5165468.html
Copyright © 2011-2022 走看看