ThreadPool.QueueUserWorkItem的用法,带参数和不带参数

1,带参数

ThreadPool.QueueUserWorkItem(delegate { PostDataWhenLoadData(); });

pubic static void update()

{

}

2.不带参数(参数类型一定要写成object)

ThreadPool.QueueUserWorkItem(Checkupdate);

public static void update(object data)

{

}

原文地址:https://www.cnblogs.com/xyyshishuaige/p/9044408.html

时间: 2024-08-29 02:35:48

ThreadPool.QueueUserWorkItem的用法,带参数和不带参数的相关文章

ThreadPool.QueueUserWorkItem引发的血案,线程池异步非正确姿势导致程序闪退的问题

ThreadPool是.net System.Threading命名空间下的线程池对象.使用QueueUserWorkItem实现对异步委托的先进先出有序的回调.如果在回调的方法里面发生异常则应用程序会出现闪退.当然是指不处理那个异常的情况下.这不公司的CMS在生产环境频频出现闪退的情况.该死的是,原来用老机器配置不高的情况下没有出现过.换了更好的新机器后出现的. // // 摘要: // 将方法排入队列以便执行,并指定包含该方法所用数据的对象.此方法在有线程池线程变得可用时执行. // //

C# 多线程处理相关说明: WaitHandle,waitCallback, ThreadPool.QueueUserWorkItem

class TestThread { static void Main() { //使用WaitHandle静态方法阻止一个线程,直到一个或多个同步对象接收到信号 WaitHandle[] waitHandles = new WaitHandle[] { new ManualResetEvent(false), new ManualResetEvent(false) }; WaitCallback waitCallback = new WaitCallback(MyThreadWork); Wa

ThreadPool.QueueUserWorkItem的性能问题

在WEB开发中,为了降低页面等待时间提高用户体验,我们往往会把一些浪费时间的操作放到新线程中在后台执行. 简单的实现代码就是: //代码一 new Thread(()=>{ //do something }).Start(); 可是对于一个请求量大的网址这样做是非常不现实的--每个操作都要开启一个新线程,终于会因CPU不堪重负而使站点挂掉. 更好的做法是使用线程队列. 对于线程队列 ThreadPool.QueueUserWorkItem 非常多人应该都不陌生,下边看微软的解释: 将方法排入队列

Java后端 带File文件及其它参数的Post请求

Java 带File文件及其它参数的Post请求 对于文件上传,客户端通常就是页面,在前端web页面里实现上传文件不是什么难事,写个form,加上enctype = “multipart/form-data”,在写个接收的就可以了,没什么难的. 如果要用java.net.HttpURLConnection,java后台来实现文件上传,还真有点搞头,实现思路和具体步骤就是模拟页面的请求,页面发出的格式如下: -----------------------------7da2e536604c8 Co

ThreadPool.QueueUserWorkItem

ThreadPool.QueueUserWorkItem(_ => { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu/tag/模特?page=" + pageNum); request.Credentials = System.Net.CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWe

C#异步线程调用之ThreadPool.QueueUserWorkItem()

项目中有大文件传输需求,用户在网页端填好某个IP下的共享目录,服务端通过所填路径检测共享目录下的文件以供用户选择待传输的文件, 用户勾选相应文件后点击提交,服务端遂开始执行文件传输.所有的逻辑过程都在同一后台代码中,传文件的代码和其他业务代码都在同一线程中, 因而在文件过大时用户所在页面要等待很久很久,极大地影响用户体验,所以后来将传文件的过程放在新的线程中,以便提高页面响应效率. 将文件传输过程放在新线程中使用的是ThreadPool.QueueUserWorkItem()方法,调用方式是:

python带参数和不带参数装饰器

http://blog.csdn.net/pipisorry/article/details/41902599 对于无参数的装饰器,其装饰器函数的参数是要被装饰的函数对象名: 对于有参数的装饰器在调用时使用的是应用的参数,@timeStumpFunc_args(argv)的argv,已不再是要被装饰的函数对象名,所以必须在内部再定义一个函数getfunc()来接收要被装饰的函数对象. #!/usr/bin/env python # coding=gbk """ __title

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

默认参数,默认参数就是在函数定义的时候直接给函数的入参进行赋值 package smart.iot class func { } object func { //参数默认值 格式 参数:参数类型="要设置的默认值" def funcadd(str:String="hello scala!") { println(str); } def main(args: Array[String]): Unit = { funcadd() } } 输出:hello scala!

Parallel.ForEach , ThreadPool.QueueUserWorkItem

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using System.Threading.Tasks; 7 8 namespace ParallelThreadPool 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 {