0
点赞
收藏
分享

微信扫一扫

急速学习C#死锁

你的益达233 2022-01-08 阅读 20

一、什么是死锁

死锁指的是两个或两个以上的线程各自持有对方所需的资源,并一直等待对方释放资源,进而导致所有线程都在等待,那么每个线程都无法释放占用的资源,这样就产生了死锁。常见的情况就是C端的UI线程发生死锁,导致界面停止响应无法工作。
举个例子,小明和小红在饭店吃饭,桌子上有两道菜,每道菜都有一双公筷,并且每道菜只能用指定的公筷夹取,只有在公筷放在桌子上的情况下,他们才能吃到菜。但是他们两个人分别拿着两道才的公筷不放下,都在等待对方放下公筷去吃另一道菜,这时就产生了死锁。
我们将这个例子代码化,如下:

public static void Demo()
{
   
	var xhTask= new 
举报

相关推荐

0 条评论