Linux RT Preempt - 是否需要POSIX线程?

时间:2017-10-27 19:24:40

标签: linux multithreading c++11 real-time

我通过this example阅读并浏览了this wiki关于使用PREEMPT修补内核进行实时应用程序开发的信息。前者使用POSIX线程,后者仅引用PTHREAD_PRIO_INHERIT互斥量的需要。

所以我没有看到任何说明我需要POSIX线程来利用PREEMPT补丁的东西,但似乎在某种程度上提出了建议。如果我实现了本机C ++ 11线程或者提升线程,我还能获得PREEMPT补丁的好处吗?

由于

2 个答案:

答案 0 :(得分:1)

迟到的答案,但仍然......

在Linux(和其他Unix系统)上,C ++标准线程通常在pthreads之上实现。 C ++接口通常更安全,更方便,但对于某些东西,您需要原始的Posix接口。例如,优先级继承互斥体和一些线程调度设置(std :: threads)(但至少)不可用。我有时会欺骗和混合Posix原语和std :: thread原语,它对我有用。

答案 1 :(得分:1)

在POSIX系统上,t1=[1, 3] t2=[2, 5] dfs = [df.loc[i:j] for i, j in zip(t1, t2)] print (dfs) [ column 1 0.557808 2 0.655985, column 3 0.832471 4 0.199884 5 0.127254] print (dfs[0]) column 1 0.557808 2 0.655985 print (dfs[1]) column 3 0.832471 4 0.199884 5 0.127254 可用于访问pthread下面的内容。在这里查看示例: https://en.cppreference.com/w/cpp/thread/thread/native_handle