`
king_tt
  • 浏览: 2259946 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux线程-sysconf系统变量

 
阅读更多

了解系统的线程资源限制是使得应用程序恰当地管理它们的关键。前面已经讨论了利用系统资源的示例。当设置线程的栈大小时,最小值为PTHREAD_MIN_STACK。栈大小不应当低于由pthread_attr_getstacksize( )返回的默认栈大小的最小值。每个进程的最大线程数决定了能够为每个进程创建的worker线程的上限。函数sysconf( )用于返回可配置系统限制或选项的当前值。系统中定义了同线程、进程和信号量相关的多个变量和常量。在表6-8中,列出了部分变量和常量。

名字值(Name Value)

_SC_THREADS

_POSIX_THREADS

支持线程

_SC_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKADDR

支持线程栈地址属性

_SC_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_ATTR_STACKSIZE

支持线程栈大小属性

_SC_THREAD_STACK_MIN

PTHREAD_STACK_MIN

线程栈存储区的最小大小,以字节为单位

_SC_THREAD_THREADS_MAX

PTHREAD_THREADS_MAX

每个进程的最大线程数

_SC_THREAD_KEYS_MAX

PTHREAD_KEYS_MAX

每个进程关键字的最大数目

_SC_THREAD_PRIO_INHERIT

_POSIX_THREAD_PRIO_INHERIT

支持优先级继承选项

_SC_THREAD_PRIO

_POSIX_THREAD_PRIO_

支持线程优先级选项

_SC_THREAD_PRIORITY_SCHEDULING

_POSIX_THREAD_PRIORITY_SCHEDULING

支持线程优先级调度选项

_SC_THREAD_PROCESS_SHARED

_POSIX_THREAD_PROCESS_SHARED

支持进程共享同步

_SC_THREAD_SAFE_FUNCTIONS

_POSIX_THREAD_SAFE_FUNCTIONS

支持线程安全函数

_SC_THREAD_DESTRUCTOR_ITERATIONS

_PTHREAD_THREAD_DESTRUCTOR_ITERATIONS

决定在线程退出时尝试销毁线程特定数据的尝试次数

_SC_CHILD_MAX

CHILD_MAX

每个UID允许的最大进程数目

_SC_PRIORITY_SCHEDULING

_POSIX_PRIORITY_SCHEDULING

支持进程调度

_SC_REALTIME_SIGNALS

_POSIX_REALTIME_SIGNALS

支持实时信号

_SC_XOPEN_REALTIME_THREADS

_XOPEN_REALTIME_THREADS

支持X/Open POSIX实时线程特性组

_SC_STREAM_MAX

STREAM_MAX

决定进程能够打开的流的数目

_SC_SEMAPHORES

_POSIX_SEMAPHORES

支持信号量

_SC_SEM_NSEMS_MAX

SEM_NSEMS_MAX

决定线程能够拥有的信号量的最大数目

_SC_SEM_VALUE_MAX

SEM_VALUE_MAX

决定信号量的最大值

_SC_SHARED_MEMORY_OBJECTS

_POSIX_SHARED_MEMORY_OBJECTS

支持共享内存对象

下面是调用sysconf( )的示例:

  1. if(PTHREAD_STACK_MIN==(sysconf(_SC_THREAD_STACK_MIN))){
  2. //...
  3. }

参考网址:

http://deepfuture.javaeye.com/category/120753?page=4&show_full=true

分享到:
评论

相关推荐

    pi.rar_PI_linux 多线程_多线程_多线程求pi

    开发者可能需要使用`sysconf(_SC_NPROCESSORS_ONLN)`这样的系统调用来获取系统的核心数,并据此调整线程数量。 在调试和分析多线程程序时,工具如`gdb`(GNU调试器)和`strace`(系统调用跟踪)可以提供帮助,它们...

    第3章_linux多线程编程

    Linux多线程编程 1、多线程模型在单处理器模型和多处理器系统上,都能改善响应时间和吞吐量。 2、线程包含了表示进程内执行环境必须的信息,包括线程ID、一组寄存器、栈、调度优先级、策略、信号屏蔽字、errno变量、...

    Linux C函数集

    在编程领域,Linux环境下的C语言是至关重要的,因为它提供了对操作系统底层的直接访问,使得开发者可以编写高效、低级别的程序。"Linux C函数集"是一个集合,包含了大量用于Linux系统编程的C语言函数,这些函数是...

    《LinuxC 函数全集》

    10. **系统信息获取**:getpid, getppid获取进程ID,uname获取系统信息,sysconf获取系统配置,getrlimit获取资源限制等。 通过《Linux C 函数全集》这本书,开发者能够全面了解和掌握在Linux环境中使用C语言进行...

    Linux CPU数量判断命令.docx

    总的来说,Linux系统提供了丰富的工具和接口来获取和分析硬件配置,`sysconf`函数和`/proc/cpuinfo`文件是其中最常用的。通过这些工具,我们可以准确地判断和利用CPU的数量和特性,从而更好地进行系统管理和软件优化...

    LinuxCPU数量判断命令.pdf

    总的来说,通过`sysconf`函数可以轻松获取Linux系统中的CPU数量,而物理ID和核心ID的分析则有助于我们理解多核和超线程的CPU架构。这些知识在系统管理、性能优化以及资源调度中都非常重要,特别是在服务器配置和大型...

    Linux C 函数手册.rar

    - `sysconf`获取系统配置信息,如最大打开文件描述符数,最大线程数等。 - `getpid`,`getppid`分别获取当前进程ID和父进程ID。 这本Linux C函数手册对于开发者来说是一份宝贵的资源,它详尽地解释了这些函数的...

    libstdapi是ffmpeg需要用到的一些linux api集合

    8. **系统信息获取**:`sysconf()`, `uname()`等,用于获取系统配置信息,如最大打开文件数、系统版本等。 9. **文件系统操作**:`mkdir()`, `unlink()`, `rename()`等,FFmpeg可能需要在磁盘上创建临时文件或目录...

    UNIX环境高级编程_第2版.part1

    2.5.4 sysconf、pathconf和fpathconf 函数32 2.5.5 不确定的运行时限制38 2.6 选项42 2.7 功能测试宏44 2.8 基本系统数据类型45 2.9 标准之间的冲突45 2.10 小结46 习题46 第3章文件i/o 47 3.1 引言47 ...

    UNIX环境高级编程_第2版.part2

    2.5.4 sysconf、pathconf和fpathconf 函数32 2.5.5 不确定的运行时限制38 2.6 选项42 2.7 功能测试宏44 2.8 基本系统数据类型45 2.9 标准之间的冲突45 2.10 小结46 习题46 第3章文件i/o 47 3.1 引言47 ...

    Linux C 函数详解

    7. **线程管理**:在Linux中,`pthread_create()`、`pthread_join()` 和 `pthread_exit()` 等函数用于创建、同步和结束线程,`pthread_mutex_t` 和 `pthread_cond_t` 用于线程间的互斥锁和条件变量。 8. **信号处理...

    linuxC函数参考集合

    11. **系统信息获取**:getpid、getppid、getuid、getgid等获取进程和用户ID,sysconf获取系统配置信息。 12. **标准I/O流**:标准输入输出流(stdin, stdout, stderr),以及fopen、fclose、fprintf等用于处理。 ...

    c语言对自己电脑系统测试.rar

    - 通过`<stdlib.h>`中的`malloc()`和`free()`了解内存分配和释放,以及`<unistd.h>`中的`sysconf()`获取系统配置信息,如最大打开文件数。 - `<stdio.h>`的`FILE`结构体和I/O函数可以用于磁盘文件的读写操作,进而...

    Linux C库函数 htm格式

    除了上述常见的C库函数,Linux还提供了许多特定于系统的函数,例如与系统调用交互的`syscall`,以及访问系统信息的`sysconf`和`uname`等。 在学习和使用这些函数时,查阅在线文档如...

    Linux C 函数全集

    错误处理和信息获取方面,`errno` 变量记录了最近系统调用的错误代码,`perror` 函数将错误代码转换为人类可读的错误信息。`sysconf` 和 `getconf` 可以获取系统配置信息,`time` 和 `ctime` 处理时间相关的操作。 ...

    linux2021_week5

    9. **配置文件和命令行参数**:`getopt()`函数用于解析命令行参数,而`sysconf()`和`getenv()`分别用于获取系统配置和环境变量。 10. **权限和访问控制**:C语言提供了`chmod()`, `chown()`, `access()`等函数,...

    UNIX环境高级编程_第二版中文

    2.5.4 sysconf、pathconf和fpathconf函数  2.5.5 不确定的运行时限制  2.6 选项  2.7 功能测试宏  2.8 基本系统数据类型  2.9 标准之间的冲突  2.10 小结  习题  第3章 文件I/O  3.1 引言  3.2...

    UNIX环境高级编程(第二版中文)

    2.5.4 sysconf、pathconf和fpathconf函数 32 2.5.5 不确定的运行时限制 38 2.6 选项 42 2.7 功能测试宏 44 2.8 基本系统数据类型 45 2.9 标准之间的冲突 45 2.10 小结 46 习题 46 第3章 文件I/O 47...

    unix环境编程电子书

    285 第11章 线程 287 11.1 引言 287 11.2 线程概念 287 11.3 线程标识 288 11.4 线程的创建 288 11.5 线程终止 291 11.6 线程同步 297 11.7 小结 311 习题 311 第12章 线程控制 313 12.1 引言 ...

Global site tag (gtag.js) - Google Analytics