本节作为指引性介绍,linux下线程的属性是可以根据实际项目需要,进行设置,之前我们讨论的线程都是采用线程的默认属性,默认属性已经可以解决绝大部分开发遇到的问题。如我们对程序的性能提出更高的要求那么需要设置线程属性,比如可以设置线程栈的大小来降低内存的使用,增大最大线程个数。

typedef struct
{int                    etachstate;         //线程的分离状态int                    schedpolicy         //线程调度策略struct sched_param     sched_param;        //线程的调度参数int                    inheritsched;       //线程的继承性int                    scope;              //线程的作用域int                    guardsize;          //线程栈末尾的警戒缓冲区大小int                    stackaddr;          //线程栈的位置int                    stacksize;          //线程栈的大小
} pthread_attr_t;
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>
#include<pthread.h>void *thrd_func(void *arg)
{pthread_exit((void*)77);}int main()
{pthread_t tid;int ret;pthread_attr_t attr;ret = pthread_attr_init(&attr);if(ret != 0) {fprintf(stderr, "pthread_init error: %s\n", strerror(ret));exit(1);}pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);ret = pthread_create(&tid, &attr, thrd_func, NULL);if(ret != 0) {fprintf(stderr, "pthread_create error: %s\n", strerror(ret));exit(1);}ret = pthread_join(tid, NULL);if(ret != 0) {fprintf(stderr, "pthread_join error: %s\n", strerror(ret));exit(1);}printf("-------------------------------join ret = %d\n", ret);pthread_exit((void*)1);
}

线程控制 12 | 线程属性相关推荐

  1. Linux下的C编程实战(开发平台搭建,文件系统编程,进程控制与进程通信编程,“线程”控制与“线程”通信编程,驱动程序设计,专家问答)

    Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来,Linux ...

  2. [Linux]线程概念_线程控制(线程与进程的区别与联系 | 线程创建 | 线程等待 | 线程终止 | 线程分离 | LWP)

    文章目录 线程概念 进程和线程的关系 线程的优点 线程的缺点 线程控制 Linux线程和接口关系的认识 线程创建 线程ID及进程地址空间布局 线程等待 线程终止 线程终止状态 线程分离 LWP和pth ...

  3. APUE读书笔记-12线程控制-04同步属性

    转载于:https://blog.51cto.com/quietheart/818811

  4. 【线程控制:线程休眠】

    package com.test;import java.util.Date;public class ThreadSleep extends Thread {@Overridepublic void ...

  5. 实现多线程、进程、线程、设置和获取线程名称、线程调度、线程控制、线程生命周期、同步代码块、线程安全的类、Lock锁、生产者消费者模式

    实现多线程:

  6. Linux多线程---线程概念和线程控制

    线程概念 什么是线程? CPU视角: 与进程的关系: Linux下线程概念 那么CPU能分辨task_struct是进程和线程吗? 理解页表 为何以多级页表实现? 多级页表是如何实现的? 多级页表的优 ...

  7. Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)

    文章目录 1.线程的定义,进程和线程的关系 2.Linux下的线程 Linux原生线程库(pthread库pthread.h) 线程的优点 线程的私有数据 3.线程控制 ①创建线程(pthread_c ...

  8. 【Java 并发编程】线程池机制 ( 线程池阻塞队列 | 线程池拒绝策略 | 使用 ThreadPoolExecutor 自定义线程池参数 )

    文章目录 一.线程池阻塞队列 二.拒绝策略 三.使用 ThreadPoolExecutor 自定义线程池参数 一.线程池阻塞队列 线程池阻塞队列是线程池创建的第 555 个参数 : BlockingQ ...

  9. 线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁

    多线程1 线程概念 线程控制 线程创建 线程终止 线程等待 线程分离 线程安全 如何给面试官描述线程不安全的现象? 线程不安全的情况(模拟黄牛抢票) 互斥 互斥锁的原理 互斥锁的接口 静态初始化 动态 ...

最新文章

  1. Centos7如何轻松配置yum国内源
  2. bzoj1174 Toponyms
  3. python 加注拼音-又一个奇葩要求,Python是如何将“中文”转“拼音”的?
  4. 2021-10-11 程序人生 -感想随笔
  5. redis 内存不足 排查_一文深入了解 Redis 内存模型,Redis 的快是有原因的!
  6. 《深入理解Elasticsearch》读书笔记
  7. 温故知新,.Net Core遇见WinForms客户端窗体框架,在DotNet Core大一统基础上老树发芽...
  8. 观测云品牌正式亮相,携手通信院共推国内可观测性概念与技术发展!
  9. 什么决定了计算机的寻址能力_有问有答:寻址能力与CPU的位宽有关系吗?
  10. Android 应用程序基础(Application Fundamentals)
  11. ffmpeg系列-解决ffmpeg获取aac音频文件duration不准
  12. web javescript与cookie理解
  13. 泛型指针,原生指针和智能指针
  14. 为什么区块链世界既需要计算机科学家也需要经济学家?
  15. VC++编程实现镜像劫持
  16. SitePoint播客#128:我最不喜欢的10岁
  17. 2021江苏省高考成绩排名查询,江苏高考成绩排名查询系统,2021年江苏个人成绩一分一段表...
  18. Android8.0 蓝牙系统
  19. k8s学习笔记——ceph rbd本地手动挂载
  20. 4.1 I/O流

热门文章

  1. ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接
  2. 【文摘】 雪念——作者:蓝色妖姬
  3. mysql怎么合并行_mysql怎么合并行
  4. php职业认证,如何用 PHP 进行 HTTP 认证
  5. java http 压缩_解压HTTP API的GZIP压缩数据
  6. ubuntu 14.04 java_Ubuntu14.04下配置Java环境
  7. mysql怎么按年份分组_mysql - MYSQL按ID分组,但根据最近的年份进行拉取 - SO中文参考 - www.soinside.com...
  8. python的ogr模块_python GDAL/OGR模块安装注意事项
  9. python数列分段_按范围分段的Python数组
  10. linux内存分配堆栈数据段代码段,linux – LD_PRELOAD堆栈和数据段内存分配