线程控制 12 | 线程属性
本节作为指引性介绍,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 | 线程属性相关推荐
- Linux下的C编程实战(开发平台搭建,文件系统编程,进程控制与进程通信编程,“线程”控制与“线程”通信编程,驱动程序设计,专家问答)
Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来,Linux ...
- [Linux]线程概念_线程控制(线程与进程的区别与联系 | 线程创建 | 线程等待 | 线程终止 | 线程分离 | LWP)
文章目录 线程概念 进程和线程的关系 线程的优点 线程的缺点 线程控制 Linux线程和接口关系的认识 线程创建 线程ID及进程地址空间布局 线程等待 线程终止 线程终止状态 线程分离 LWP和pth ...
- APUE读书笔记-12线程控制-04同步属性
转载于:https://blog.51cto.com/quietheart/818811
- 【线程控制:线程休眠】
package com.test;import java.util.Date;public class ThreadSleep extends Thread {@Overridepublic void ...
- 实现多线程、进程、线程、设置和获取线程名称、线程调度、线程控制、线程生命周期、同步代码块、线程安全的类、Lock锁、生产者消费者模式
实现多线程:
- Linux多线程---线程概念和线程控制
线程概念 什么是线程? CPU视角: 与进程的关系: Linux下线程概念 那么CPU能分辨task_struct是进程和线程吗? 理解页表 为何以多级页表实现? 多级页表是如何实现的? 多级页表的优 ...
- Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)
文章目录 1.线程的定义,进程和线程的关系 2.Linux下的线程 Linux原生线程库(pthread库pthread.h) 线程的优点 线程的私有数据 3.线程控制 ①创建线程(pthread_c ...
- 【Java 并发编程】线程池机制 ( 线程池阻塞队列 | 线程池拒绝策略 | 使用 ThreadPoolExecutor 自定义线程池参数 )
文章目录 一.线程池阻塞队列 二.拒绝策略 三.使用 ThreadPoolExecutor 自定义线程池参数 一.线程池阻塞队列 线程池阻塞队列是线程池创建的第 555 个参数 : BlockingQ ...
- 线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁
多线程1 线程概念 线程控制 线程创建 线程终止 线程等待 线程分离 线程安全 如何给面试官描述线程不安全的现象? 线程不安全的情况(模拟黄牛抢票) 互斥 互斥锁的原理 互斥锁的接口 静态初始化 动态 ...
最新文章
- Centos7如何轻松配置yum国内源
- bzoj1174 Toponyms
- python 加注拼音-又一个奇葩要求,Python是如何将“中文”转“拼音”的?
- 2021-10-11 程序人生 -感想随笔
- redis 内存不足 排查_一文深入了解 Redis 内存模型,Redis 的快是有原因的!
- 《深入理解Elasticsearch》读书笔记
- 温故知新,.Net Core遇见WinForms客户端窗体框架,在DotNet Core大一统基础上老树发芽...
- 观测云品牌正式亮相,携手通信院共推国内可观测性概念与技术发展!
- 什么决定了计算机的寻址能力_有问有答:寻址能力与CPU的位宽有关系吗?
- Android 应用程序基础(Application Fundamentals)
- ffmpeg系列-解决ffmpeg获取aac音频文件duration不准
- web javescript与cookie理解
- 泛型指针,原生指针和智能指针
- 为什么区块链世界既需要计算机科学家也需要经济学家?
- VC++编程实现镜像劫持
- SitePoint播客#128:我最不喜欢的10岁
- 2021江苏省高考成绩排名查询,江苏高考成绩排名查询系统,2021年江苏个人成绩一分一段表...
- Android8.0 蓝牙系统
- k8s学习笔记——ceph rbd本地手动挂载
- 4.1 I/O流
热门文章
- ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接
- 【文摘】 雪念——作者:蓝色妖姬
- mysql怎么合并行_mysql怎么合并行
- php职业认证,如何用 PHP 进行 HTTP 认证
- java http 压缩_解压HTTP API的GZIP压缩数据
- ubuntu 14.04 java_Ubuntu14.04下配置Java环境
- mysql怎么按年份分组_mysql - MYSQL按ID分组,但根据最近的年份进行拉取 - SO中文参考 - www.soinside.com...
- python的ogr模块_python GDAL/OGR模块安装注意事项
- python数列分段_按范围分段的Python数组
- linux内存分配堆栈数据段代码段,linux – LD_PRELOAD堆栈和数据段内存分配