Android NDK and pthread


http://stackoverflow.com/questions/11048260/does-android-support-thread


Does Android support pthreads?And why when i use -pthread option i see the linker error:

-----------------------------------------

As far as I could see in the docs you do not need to use "-pthread". Checkout following:
http://mobilepearls.com/labs/native-android-api/#pthreads


----------

POSIX threads (pthreads)

The android libc, bionic, provides built-in support for pthreads, so no additional linking (-lpthreads) is necessary. It does not implement full POSIX threads functionality and leaves out support for read/write locks, pthread_cancel(), process-shared mutexes and condition variables as well as other more advanced features. Read the bionic OVERVIEW.txt for more information.

TLS, thread-local storage, is limited to 59 pthread_key_t slots available to applications, lower than the posix minimum of 128.

----------


Info from NDK offical docs states (android-ndk-r8\docs\system\libc\OVERVIEW.html):

PThread implementation:

   Bionic's C library comes with its own pthread implementation bundled in.
   This is different from other historical C libraries which:
    - place it in an external library (-lpthread)
    - play linker tricks with weak symbols at dynamic link time

So keep in mind that Bionic includes directly pthread as opposed to standard way you are used to (with -lpthread).




posted @   张同光  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示