zoukankan      html  css  js  c++  java
  • 多线程

    本文仅为笔记整理,所有内容均来自网络

    一、异步执行(让执行过程要较长等待时间的方法异步执行)

        1、异步方法:在方法调用前为异步方法指定一个回调函数,方法调用后被线程池中的一个线程接管,执行该方法。主线程立即返回,继续执行其他工作。如果异步方法执行完毕,会自动执行回调方法,处理异步方法的调用结果。实现:通过异步委托调用BeginInvokeEndInvoke方法来实现异步方法,
        2、IAsyncResult BeginInvoke(委托参数列表, AsyncCallback callback回调用函数, object o附加信息[赋值到IAsyncResult .AsyncState中])
        3、委托返回值类型 EndInvoke(IAsyncResult result) 结束后台线程
       4、 IAsyncResult :异步结果 属性:IsCompleted是否完成 AsyncWaitHandle关联的等待句柄[WaitHandle对象:waitone(超时时间,bool)]  AsyncState(用户定义的对象)
        5、AsyncCallback:public delegate void AsyncCallback(IAsyncResult ar)

    二、线程池

      1、线程池通过为应用程序提供一个由系统管理的辅助线程池,使您可以有效地使用线程。在首次创建ThreadPool类的实例时被创建。线程池具有每个可用处理器25个线程的默认限制,可以将与等待操作不相关的工作排列到线程池。

     2、ThreadPool类是利用多个线程最方便且最好的方法用以处理一些需要多个线程的较短任务,调用QueueUserWorkItem 方法。bool QueueUserWorkItem(WaitCallback callBack, object state) WaitCallback:public delegate void WaitCallback(object state);

     

     

  • 相关阅读:
    Docker swarm集群增加节点和删除节点
    docker 基础
    Mac 下 java环境 maven环境配置
    git 常用命令(含删除文件) git提交本地分支到远程分支
    github添加ssh keys
    Git在mac中和远程仓库建立连接
    初始化Git仓库(Mac环境下)
    Mac系统显示隐藏文件
    Mac:jenkins忘记管理员账号登录密码如何修改管理员账号
    java实现链表的反转
  • 原文地址:https://www.cnblogs.com/zzfy/p/7345057.html
Copyright © 2011-2022 走看看