高手进~ C# 多线程处理

是的,您必须手动管理多线程内存。
C 垃圾收集速度慢,线程不会终止,内存也不会回收。
客户端永远不会终止,线程永远不会死亡,内存永远不会为空。
创建引用时要小心,不要创建循环。
线程结束时会自动返回,也可以手动返回。
应限制数据存储(例如列表)的数量。
如果数量超过1 00,利润将被取消。
你自己看看吧。

C#如何释放线程

嘿嘿,说起Winform程序的线程的创建,我记得第一次接触它是在2 009 年左右。
然后,和现在一样,我一步步按照教程操作,从创建WinForm程序,到拖动按钮,到定义线程。
耗费了大量的精神力。

我记得当时在 Visual Studio 中我编写了一个简单的循环,通过拉动按钮来实现一个方法。
当时我很自豪,我认为创建这个线程是如此容易。
然后在按钮的Click事件中,使用ThreadStart访问Thread的execute方法,然后通过Thread实例启动线程。
这个过程非常顺利。

但是当涉及到破坏线程时,这确实让我头疼。
一开始我使用了abort方法,但是程序直接崩溃了,抛出了很多异常。
我当时不明白为什么。
后来上网查了一下,发现有一个友好的方法。
正如你所说,你可以通过设置中断标志来终止线程,这样就不会抛出异常。

这个信息我还记得是2 01 0年左右的时候,有人在论坛上分享过这个方法,我当时就写下来了。
现在回想起来,那篇文章可能有点极端,但确实对我帮助很大。
说实话,当时我不明白为什么堕胎方法不好。
现在想来,也许是因为它直接终止了测试,很容易导致资源丢失或者程序崩溃。

总之,创建WinForm程序并使用线程看似简单,但更要注意细节。
现在想来,当时的我真是太执着了。

C# 线程中的 Join、Sleep 和 Abort 方法

1 、Join保证线程顺序执行,避免死锁。
2 .睡眠用于延迟和不精确的计时。
3 . Cancel 已被弃用并替换为 CancellationToken。
4 、主线程等待子线程完成后再释放,以保证顺序。
5 、延迟后终止子线程,异常处理视图终止。
6 . 为避免死锁,请使用CancellationToken。
7 、一个线程延迟输出,主线程控制节奏。
8 .替换Cancel并使用CancellationToken安全退出。
9 . 我不确定,但经验是这样的。
1 0.称一下体重。