手机版

用多线程的经验总结 网

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

1.简要描述

一般来说,程序是一个过程,代码存在于过程中。进程本身不执行代码,但是线程执行代码。

一般来说,一个进程中只有一个线程。(商店只是老板娘。)

一个进程只是在内存中打开了一个空间。代码,图片。等等都存在于这个空间。要执行的代码线程。

默认情况下只有一个线程。

复制代码如下: system term . threading//由线程操作的类在此命名空间下。

2.前台线程和后台线程。

启动一个线程就是创建一个线程对象。

默认情况下,线程是前台线程。

在所有前台线程执行完毕之前,程序不会退出。

进程中的默认线程称为主线程或默认线程,或UI线程。

后台线程,只要所有前台线程结束,所有后台线程直接结束。

复制代码如下:Thread th=新线程(Sum);同名称=“线程1”;给一个线程一个名字。调试时可以在输出中看到具体的名称。第。IsBackground=true第。start();第。abort();强制终止线程。线程。睡眠(1000);以毫秒为单位暂停线程。threadcutth=thread。currentthread获取当前线程的引用。键入线程。文本框。CheckForIllegalCrossThreadCalls=false;//关闭对空间的跨线程访问检查。否则,将出现以下错误

3.螺纹再入

同一进程中的多个线程可以并发执行。

多个线程访问同一个资源,这可能会导致不同步。这叫做线程重入。

在这种情况下,它可以被锁定。

复制代码如下: private void count num(){ lock(this){ for(int I=0;我10000;i ) { int num=int。解析(文本框1。text . Trim());数量;文本框1。文本=数字。ToString();} } }

4.线程对象的本质(委托)

4.1无参数方法

需要传递委托对象。复制代码如下: thread start ts=new thread start(count num);线程th=新线程(ts);相当于Thread th=新线程(CountNum);本质是代表。(CountNum是非参数方法)4.2参数方法

如果需要传递参数方法。

ParameterizedThreadStart的委托对象是否已创建。

传递的参数在Start方法中传递;start方法有两个重载。

你知道中的多线程吗?网?如果你有任何问题,请留言。

版权声明:用多线程的经验总结 网是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。