黑马程序员——线程的知识
2012-08-05 19:36
211 查看
---------------------- <a href="http://net.itheima.com/" target="blank">Windows Phone 7手机开发</a>、<a href="http://net.itheima.com/" target="blank">.Net培训</a>、期待与您交流! ----------------------
1、一个程序就是一个进程,一个进程至少有一个线程
同一个进程中的多个线程之间可以“并发”执行
2、线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈)指针、程序计数器等,但代码区是共享的,即不同的线程可以执行同样的函数。
.net中线程启动时,通过委托来调用该方法。
俩个线程执行相同的代码区,但它们俩个的执行是相对独立的存在。
关闭微软检查当前控件textbox的线程:textbox.CheckForIllegalCrossThreadCalls=false;
3、调用线程的命名空间是using system.Threading;
创建线程:
Thread ne=new Thread(要调用的方法--需要看看委托是否有返回值);
ne.IsBackground=true;
ne.Start();
4、计算一个程序执行用了多长时间:
DateTime data=DateTime.Now;
for(int i=0;i<100;i++)
{
}
TimeSpan ts=data.Subtract(DateTime.Now);--用结束时间-开始的时间
5、线程不允许调用有返回值的方法
多线程执行的时间比单线程要长一点(多线程操作时,会放下一个未执行完的线程,去执行另一个线程),而单线程执行时窗体不能,多线程却能。
6、创建线程前,必须先定义一个方法
线程执行完自动关闭
7、前台线程:只有所有的前台线程都关闭才能完成程序关闭
后台线程:只有所有的前台线程结束,后台线程自动结束。
调用属性(IsBackground)进而将线程设置为后台线程:
Thread ne=new Thread(要调用的方法--需要看看委托是否有返回值);
ne.IsBackground=true;
ne.Start();
8、Star()启动线程
Abort()终止线程
Thread.Sleep()静态方法,可以使当前线程停止一段时间运行
Name线程名
Thread.CurrentThread获得当前的线程引用
9、线程执行带参数的方法
方法的参数类型要于Thread中定义的类型一样,
用Start(用于传定义的方法参数的值)方法进行传参数
---------------------- <a href="http://net.itheima.com/" target="blank">Windows Phone 7手机开发</a>、<a href="http://net.itheima.com/" target="blank">.Net培训</a>、期待与您交流! ----------------------
1、一个程序就是一个进程,一个进程至少有一个线程
同一个进程中的多个线程之间可以“并发”执行
2、线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈)指针、程序计数器等,但代码区是共享的,即不同的线程可以执行同样的函数。
多线程是指程序中包含多个执行流,即在一个程序专用可以同时运行多个不同的线程来执行不同的任务(代码),也就是说允许单个程序创建多个并行的线程来完成各自的任务。
.net中线程启动时,通过委托来调用该方法。
俩个线程执行相同的代码区,但它们俩个的执行是相对独立的存在。
关闭微软检查当前控件textbox的线程:textbox.CheckForIllegalCrossThreadCalls=false;
3、调用线程的命名空间是using system.Threading;
创建线程:
Thread ne=new Thread(要调用的方法--需要看看委托是否有返回值);
ne.IsBackground=true;
ne.Start();
4、计算一个程序执行用了多长时间:
DateTime data=DateTime.Now;
for(int i=0;i<100;i++)
{
}
TimeSpan ts=data.Subtract(DateTime.Now);--用结束时间-开始的时间
5、线程不允许调用有返回值的方法
多线程执行的时间比单线程要长一点(多线程操作时,会放下一个未执行完的线程,去执行另一个线程),而单线程执行时窗体不能,多线程却能。
6、创建线程前,必须先定义一个方法
线程执行完自动关闭
7、前台线程:只有所有的前台线程都关闭才能完成程序关闭
后台线程:只有所有的前台线程结束,后台线程自动结束。
调用属性(IsBackground)进而将线程设置为后台线程:
Thread ne=new Thread(要调用的方法--需要看看委托是否有返回值);
ne.IsBackground=true;
ne.Start();
8、Star()启动线程
Abort()终止线程
Thread.Sleep()静态方法,可以使当前线程停止一段时间运行
Name线程名
Thread.CurrentThread获得当前的线程引用
9、线程执行带参数的方法
方法的参数类型要于Thread中定义的类型一样,
用Start(用于传定义的方法参数的值)方法进行传参数
---------------------- <a href="http://net.itheima.com/" target="blank">Windows Phone 7手机开发</a>、<a href="http://net.itheima.com/" target="blank">.Net培训</a>、期待与您交流! ----------------------
相关文章推荐
- [黑马程序员]--线程基础知识小结
- 黑马程序员_线程的有关知识
- 线程及同步相关知识提要-----------黑马程序员
- 黑马程序员——基础知识——线程间的通信
- 黑马程序员——java基础知识篇——>线程
- 黑马程序员-线程知识总结-No.02
- 黑马程序员_线程知识总结
- 黑马程序员-反射知识总结
- 黑马程序员——Java基本知识
- 黑马程序员-----一些杂类知识
- java线程基础知识和小案例
- C# 线程的各种知识,和使用方法
- 黑马程序员-------------(一)Java基础知识
- 进程与线程(基础知识)
- 黑马程序员--代码块小知识总结
- 黑马程序员----C#基础知识07
- 黑马程序员——java —反射知识总结
- 黑马程序员_java概述与基础知识
- 黑马程序员——java基础知识篇——>标识符、关键字、常量、进制表示、数据类型、运算符等
- 黑马程序员--SQL Server 基本语法、基础知识