Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log另一个死锁问题 #89

Open
oo33shan opened this issue Aug 31, 2023 · 5 comments
Open

Log另一个死锁问题 #89

oo33shan opened this issue Aug 31, 2023 · 5 comments

Comments

@oo33shan
Copy link

BlockDeque满了的话,会等待消费者线程消费。但是没有释放Log中的锁,导致消费者线程也无法消费

image

image

image

@Miyamoto-Konatsu
Copy link

你说的是第三张图片里的锁没释放吗?123行会释放锁的

@oo33shan
Copy link
Author

oo33shan commented Sep 4, 2023

你说的是第三张图片里的锁没释放吗?123行会释放锁的

不是,是第一张和第二张里的mtx_

@oo33shan
Copy link
Author

oo33shan commented Sep 4, 2023

你说的是第三张图片里的锁没释放吗?123行会释放锁的
mtx_把消费者线程卡住了,没法把满了的BlockDeque中的内容写到文件中,使得BlockDeque一直是满的

@Miyamoto-Konatsu
Copy link

你说的是第三张图片里的锁没释放吗?123行会释放锁的
mtx_把消费者线程卡住了,没法把满了的BlockDeque中的内容写到文件中,使得BlockDeque一直是满的

队列满了的话,生产者不是执行else里的fputs语句,然后释放锁吗?

@oo33shan
Copy link
Author

oo33shan commented Sep 5, 2023

你说的是第三张图片里的锁没释放吗?123行会释放锁的
mtx_把消费者线程卡住了,没法把满了的BlockDeque中的内容写到文件中,使得BlockDeque一直是满的

队列满了的话,生产者不是执行else里的fputs语句,然后释放锁吗?
C){ ODCQ$E}DF44}M(Y{)L

  1. 我去看了下原来我自己写的时候把这句删了,导致死锁了。谢谢你的回复

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants