C 高效率编程 “多线程” 的基本使用

C 高效率编程 “多线程” 的基本使用英文意思 什么是多线程 比如你需要建房子 如果使用单线程 房子的门 地板 水管等都是你一个人安装 这样效率特别的低总知就是 终究还是一个人扛下了所有 但是在开一个线程就可以把你一部分工作分给另一人 另一个线程 做 这样就不会导致你累死了 程序的假死 例图 CPU 执行方式单核 CPU 如果在单核 CPU 运行多线程程序 那么他将在线程中来回切换速度非常的快 感觉不出来多核 CPU 在多核 CPU 运行多线程 才是真正的多线程 同时执行下面以例子介绍他的使用方法实例 1 命名空间 using

英文意思:在这里插入图片描述

什么是多线程?

比如你需要建房子,如果使用单线程,房子的门,地板,水管等都是你一个人安装,这样效率特别的低 总知就是 “终究还是一个人扛下了所有”。

但是在开一个线程就可以把你一部分工作分给另一人(另一个线程)做,这样就不会导致你累死了(程序的假死)

例图:
在这里插入图片描述

CPU执行方式

单核CPU:
如果在单核CPU运行多线程程序,那么他将在线程中来回切换速度非常的快,感觉不出来

多核CPU:
在多核CPU运行多线程,才是真正的多线程,同时执行

下面以例子介绍他的使用方法

实例

命名空间

using System.Threading;

按钮里调用

a();//调用方法

按钮里创建线程

跨线程的解决方法

解决方法:
在窗体加载的时禁止”跨线程“的检测

这样就可以运行了

线程的间隔时间

在这里插入图片描述
这样一秒钟就加一个数字了

程序已经关闭了,为什么Vs中还显示在运行?
在这里插入图片描述
因为程序的线程在前台,程序关闭后线程还在继续执行,直到运行完,如果是个死循环那么将不会结束




解决方法:

 Thread th = new Thread(a); //创建一个线程,执行方法a的代码 th.IsBackground = true; //在后台执行 th.Start(); //告诉CPU可以执行这个线程了 

前台线程与后台线程

前台线程(默认):程序关闭但线程还在执行,程序还没真正的关闭,直到代码运行完才关闭,关闭了但还没完全关闭

后台线程:程序关闭后,线程也一起关闭

这个例子就结束了!!

线程间参数的传递

这是一个方法体,传递参数到a1 a2 上

static int a (int a1,int a2) {

int b = a1 + a2;

传递方式1(建议使用):

===============================

传递方式2(单参数)

传递参数:

线程命名

这个好像没什么用…

 static void a () { Console.WriteLine(Thread.CurrentThread.Name); 输出当前线程名 "小马哥的棺材" } 

运行结果:
在这里插入图片描述

等待线程执行完后在执行

编写程序中需要等一个线程执行完后在继续执行下面的语句,例如加载一些东西等

 th.Join(); //等待这个线程执行完 
 static void a() { Console.WriteLine("线程在执行"); Thread.Sleep(3000); //线程间隔3秒 } 

使用这个方法需要等待这个线程执行完成后才会继续执行后面的代码

纯手打,点个赞呗~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201691.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:50
下一篇 2026年3月20日 上午8:50


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号