您的位置:首页 > 职场人生

黑马程序员——线程的知识

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>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: