Net学习日记_基础提高_10

进程与线程

一个进程只有一个线程(一般而言),进程就是在内存里面开辟一块空间,但不仅仅如此。线程去执行代码。

进程里面默认有个线程。

如何开启一个线程?System.Threading;线程操作的类在这个命名空间下。

 创建一个线程对象,并为这个线程对象指定要执行的方法。

private void TestThread(){  };

.......

Thread thread = new Thread(TestThread);

thread.Start();

 

前台线程

进程里面默认的线程,我们叫做主线程、UI线程。

线程默认(主线程、UI线程)情况下都是前台线程。

要所有的前台线程退出以后,程序才会退出。

线程什么时候结束?该线程执行的方法执行完以后,线程就自动退出。

 

后台线程

后台线程只要所有的前台线程结束,后台线程就会立即结束。

thread.IsBackground = true; //后台线程。 

 

线程重入以及解决方法

1.微软默认:线程之间是不能随便访问的。

   TexBox.CheckForIllegalCrossThreadCalls = false;

   关闭控件的跨线程访问。

2.多个线程访问同一资源,可能造成不同步的情况,这个叫做线程重入。

 

 

多线程实例:自动摇奖机

 

委托(委托的本质是个类)(委托的作用在哪里?下面的ThreadStart)

委托关键字 delegate

 

线程调用带参数的方法

ThreadStart 这是个委托对象,里面自带delegate;

首先,Thread首先利用就是自动生成ThreadStart的代码。

但是这个是不带参数的,利用ThreadStart的可以增加、减少类

带参数(!!!!!!!!!!!!!)

注意一点:在Start的地方输入参数。

传入多个参数,可以利用数组。

 

GDI常用方法(画图接口)

Graphic 类(画图)

 Draw();

posted @ 2017-10-18 22:21  兽人松  阅读(126)  评论(0编辑  收藏  举报