相关疑难解决方法(0)

没有为pthread_cond_timedwait和pthread_cond_signal锁定互斥锁(在Linux上)

调用pthread_cond_timedwait是否有任何缺点,而不首先锁定相关的互斥锁,并且在调用pthread_cond_signal时也不会使用互斥锁?

在我的情况下,确实没有条件要检查,我想要一个非常类似于Java wait(long)和notify()的行为.

根据文档,可能存在"不可预测的调度行为".我不确定这意味着什么.

一个示例程序似乎工作正常,而不首先锁定互斥锁.

c c++ multithreading mutex pthreads

6
推荐指数
2
解决办法
7702
查看次数

如何随时暂停 pthread?

最近我开始将 ucos-ii 移植到 Ubuntu PC。

我们知道,在 pthread 的回调函数中,通过简单地在“while”循环中添加一个标志来执行暂停和恢复(如下面的解决方案)是不可能模拟 ucos-ii 中的“进程”的。因为ucos-ii中的“进程”可以随时暂停或恢复!

如何在 Linux 上的 c 中休眠或暂停 PThread

我在下面的网站上找到了一种解决方案,但无法构建,因为它已过时。它使用Linux中的进程来模拟ucos-ii中的任务(就像我们Linux中的进程)。

http://www2.hs-esslingen.de/~zimmerma/software/index_uk.html

如果pthread可以像进程那样随时暂停和恢复,请告诉我一些相关的功能,我自己能弄明白。如果不能,我想我应该专注于较旧的解决方案。非常感谢。

c++ linux embedded pthreads

5
推荐指数
2
解决办法
1万
查看次数

如何在退出之前保存线程堆栈?

我正在研究一个多线程项目,我需要在代码中的某个位置复制一个线程的堆栈(我需要一个指向它的指针).因为在退出这个线程后我将需要该指针(并且它的堆栈被释放).如果我能以某种方式告诉pthread_exit()不要释放线程堆栈,它也可以完成这项工作!

PS:这背后的原因是我希望setcontext(ucontext_t*)稍后在这个线程实际死亡时使用.

c linux stack multithreading pthread-exit

1
推荐指数
1
解决办法
136
查看次数

标签 统计

c ×2

c++ ×2

linux ×2

multithreading ×2

pthreads ×2

embedded ×1

mutex ×1

pthread-exit ×1

stack ×1