Thread学习笔记

  1. 1.   WMIWindows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
  2. 2.   嵌入式Chromium框架,它主要目的是开发一个基于Google ChromiumWebbrowser控件;
  3. 3.   HtppWebResponse类的作用用于在客户端获取服务器返回的相应信息

HttpResponse 类用于在服务器设置客户端相应的信息

参考网址:

http://www.cnblogs.com/kissdodog/archive/2013/04/06/3002790.html

  1. 4.   序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。
  2. 5.   Json的人全称是“JavaScript Object Notation,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式,在web开发过程中,我们经常需要将从数据库中查询到的数据(一般为一个集合,列表或数组等)转换为JSON格式字符串传回客户端,这就需要进行序列化,这里用到的是JsonConvert对象的SerializeObject方法。其语法格式为:JsonConvert.SerializeObject(object).
  3. 6.   @作用:1 忽略转义字符 2让字符串跨行   3在标识符中的用法

 

  1. 7.   Backgroundworker对线程的访问提供了一种安全的方式,对Thread的一次封装。用于在单独的线程上运行操作,Thread用于线程的创建和控制类。
  2. 8.   Dispose:处理,在计算机技术英语中,是“文档摧毁”的意思。Close 是关闭而已,不释放资源。就是把StreamReader读写文件流的数据清空了,不占用存储内存。
  3. 9.   BackgroundWorker类中的主要用的这列属性方法和时间:

重要属性:

1.CancellationPending 获取一个值,指示应用程序是否已请求取消后台操作,通过DoWork事件中判断CancellationPending属性可以认定是否需要后台操作。 

2IsBusy 获取一个值,指示BackgroundWorker是否正在运行异操作,程序中使用IsBusy属性用来确定后台操作是否正在使用中。

3WorkerReportsProgress获取或设置一个值,该值只是BackgroundWorker是否报告正在使用中。

4.Task<TResult>完成时要运行的函数。在运行时,委托将作为一个参数传递给完成的任务

4WorkerSupportsCancellation 获取或设置一个值,该值指示BackgroundWorker是否支持异步取消。设置为True时,程序可以调用CancelAsync方法提交终止挂起的后台请求操作。

重要方法:

    @CancelAsync 请求取消挂起的后台操作

    @RunWorkerAsync 开始执行后台操作

    @ReportProgress 引发ProgressChanged时间

重要事件:

               @DoWork 调用RunWokerAsync时发生

               @ProgressChanged 调用ReportProgress时发生

               @RunWorkCompleted 当后台操作已完成、被取消或引发异常时发生

 

      

 

 

时间: 2025-01-08 04:45:41

Thread学习笔记的相关文章

Boost Thread学习笔记二

除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock.condition和barrier,这些都是为实现线程同步提供的. mutexboost提供的mutex有6种:boost::mutexboost::try_mutexboost::timed_mutexboost::recursive_mutexboost::recursive_try_mutexboost::recursive_timed_m

Boost Thread学习笔记

thread自然是boost::thread库的主 角,但thread类的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的编译选项的不同,分别决定使用 Windows线程API还是pthread,或者Macintosh Carbon平台的thread实现.以下只讨论Windows,即使用 BOOST_HAS_WINTHREADS的情况.thread类提供了两种构造函数:thread::thread()thread::thread(const func

Boost Thread学习笔记三

下面先对condition_impl进行简要分析.condition_impl在其构造函数中会创建两个Semaphore(信号量):m_gate.m_queue,及一个Mutex(互斥体,跟boost::mutex类似,但boost::mutex是基于CriticalSection<临界区>的):m_mutex,其中:m_queue相当于当前所有等待线程的等待队列,构造函数中调用CreateSemaphore来创建Semaphore时,lMaximumCount参数被指定为(std::nume

Boost Thread学习笔记四

barrierbarrier类的接口定义如下: 1 class barrier : private boost::noncopyable   // Exposition only 2 { 3 public: 4   // construct/copy/destruct 5   barrier(size_t n); 6   ~barrier(); 7  8   // waiting 9   bool wait();10 }; barrier类为我们提供了这样一种控制线程同步的机制:前n - 1次调

Boost Thread学习笔记五

多线程编程中还有一个重要的概念:Thread Local Store(TLS,线程局部存储),在boost中,TLS也被称作TSS,Thread Specific Storage.boost::thread库为我们提供了一个接口简单的TLS的面向对象的封装,以下是tss类的接口定义: class tss{public:    tss(boost::function1<void, void*>* pcleanup);    void* get() const;    void set(void*

thread学习笔记--BackgroundWorker 类

背景: 在 WinForms 中,有时要执行耗时的操作,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成“假死”的情况,或者报“线程间操作无效”的异常,或者在该操作未完成之前操作用户界面,会导致用户界面停止响应. ----比如现在学习的MES UI中要查询数据量较大的记录显示在Spread中就可以用BackgroundWorker 类! 解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作. 如果不借助Thread编程

storm学习笔记完整记录(一)

storm有两种运行模式(本地模式和集群模式) 1. 首先创建一个类似于HelloWorld的简单程序,以便进入storm的大门,包结构如下: 2.从包结构可以知道,这是一个Maven Project,pom.xml的内容如下: <project xmlns="http://maven.apache.org/POM/4.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    

Caliburn.Micro学习笔记(四)----IHandle&lt;T&gt;实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle&lt;T&gt;

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T> 今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇用它们做一个多语言的demo 这两个是事件的订阅和广播,很强大,但用的时候要小心发生不必要的冲突. 先看一下它的实现思想 在Caliburn.Micro里EventAggregator要以单例的形式出现这样可以