`

Chapter 11__线程

    博客分类:
  • APUE
阅读更多

★线程的执行环境
线程ID、栈
一组寄存器值
调度优先级和策略
信号屏蔽字
errno变量
线程的私有数据

★线程的资源共享方式
 可以访问进程的所有资源,包括文件描述符;

★进程和线程的资源共享方式有何不同?

★共享带来的事情
资源共享 -> 多方操作使用 -> 同步or异步
       数据一致性 -> 锁、阻塞

★线程调度,不能作任何假设。谁先谁后得使用机制确定

★11.5线程终止

★线程函数
int pthread_create(pthread_t *restrict tidp,
                   const pthread_attr_t *restrict attr,//线程属性
                   void *(*start_rtn)(void), void *restrict arg);//函数地址、参数

pthread_t pthread_self(void);//获取自己的tid
int pthread_equal(pthread_t tid1, pthread_t tid2);//tid比较

void pthread_exit(void *rval_ptr);
int pthread_join(pthread_t thread, void **rval_ptr);//阻塞,直至……

int pthread_cancel(pthread_t tid);//提出请求,取消同一进程中的其它线程,是请求





分享到:
评论

相关推荐

    News_chapter_8_java_新闻中国_

    【标题】"News_chapter_8_java_新闻中国_" 暗示了这是一个关于Java编程的项目,专门针对“新闻中国”这一主题。这可能是开发一个新闻聚合平台或者是新闻类应用的一部分,涉及到Java语言和中国的新闻数据处理。 ...

    Chapter2_iPhoneAR_代码_C++_

    C++的性能特性使得它在处理计算密集型任务时特别有用,开发者需要掌握内存管理、多线程和算法优化技巧。 10. **调试与测试**:在开发过程中,使用Xcode的调试工具与C++代码进行交互,对代码进行调试和性能分析。...

    chapter10_linux_

    在本章"chapter10_linux_"中,我们深入探讨了Linux内核API的高级主题,这些API对于系统级编程和内核开发至关重要。《Linux内核API完全参考手册》是学习这一领域的宝贵资源,它提供了丰富的实例源代码,帮助读者理解...

    java1_chapter1_java_base.zip

    "java1_chapter1_java_base.zip"这个压缩包文件显然包含了Java初学者的第一课源代码,旨在教授基础的Java知识。让我们深入探讨一下Java编程的基础,以及在这个阶段你可能会学到的关键概念。 首先,Java是一种面向...

    chapter4_linux_

    在本章节"chapter4_linux_"中,我们聚焦于《Linux内核API完全参考手册》的第四章内容。这一章通常会深入探讨Linux操作系统内核的API接口及其在实际编程中的应用。Linux内核API是开发者与操作系统进行交互的重要桥梁...

    chapter3_radioffn_linux_

    6. **并发与同步**:在多线程环境中,如内核,同步原语(如semaphore, mutex)的使用是防止数据竞争的关键。 7. **文件系统接口**:如果"radioffn"涉及到文件操作,那么理解和使用VFS(虚拟文件系统)接口将是必要...

    chapter6_linux_

    在本压缩包文件"chapter6_linux_"中,包含的是《Linux内核API完全参考手册》第六章节的实例源代码。这个资源对于想要深入理解Linux内核API和系统调用的开发者来说是极其宝贵的。第六章节可能涉及了Linux操作系统中的...

    q_dms_chapter02_JAVA源码_

    6. **线程编程**:Java支持多线程,可能包含Thread类的使用,synchronized关键字,以及Runnable接口。 7. **函数式编程**:Java 8引入了Lambda表达式,增加了函数式编程的支持。 8. **IO/NIO**:包括旧的IO流和新...

    Delphi - Messages (chapter)_DELPHIMESSAGES_MSSages_

    11. **自定义消息**:开发者可以定义自己的消息类型,以实现特定功能或扩展框架。创建自定义消息需要理解Windows消息的ID系统和Delphi的消息传递机制。 12. **消息安全与异常处理**:在处理消息时,必须考虑到错误...

    Chapter3_Java_class_info.zip_西北大学

    "Chapter3_Java_class_info.zip"是针对西北大学计算机专业学生的一个学习资源,特别适合初学者入门,帮助他们理解和掌握Java类库的基础知识。 Java类库主要由Java标准版(Java SE)和Java扩展框架(Java Extension ...

    Chapter 4_VBa_

    8. **高级技巧**:如多线程(通过Application.OnTime实现异步处理)、类模块(Class Modules)的使用、事件驱动编程等,都是提升VBA编程能力的关键。 9. **最佳实践**:编写清晰、可维护的代码,遵循良好的编程规范...

    java_type_train.rar_java 多线程_java 打字 程序_train_线程

    此资源中的"chapter11"可能包含有关如何在Applet中使用多线程的示例和练习。 学习Java多线程时,需要理解以下几个关键概念: 1. **线程状态**:Java线程有新建、可运行、运行、等待、阻塞和死亡等六种状态,理解...

    q_dms_chapter02_java高级_java_qst青训_

    【标题】"q_dms_chapter02_java高级_java_qst青训_" 涉及的是Java高级技术的学习,特别是与日志管理系统的实现相关的知识。这个项目可能是一个基于Java 8的实战训练,旨在帮助开发者提升在Java高级特性和实践应用上...

    chapter7_getnstimeofday_linux_electricmzj_

    然而,需要注意的是,虽然`getnstimeofday()`提供了高精度的时间,但它并不是线程安全的,如果多个线程同时调用可能会有竞争条件,因此在多线程环境中使用时需要额外的同步措施。 在阅读《Linux内核API完全参考手册...

    《Android开发案例驱动教程》

    1. **Chapter 16** - 这一系列的压缩文件(chapter16.7z、chapter16_5.zip、chapter16_6.zip、chapter16_7.zip)可能涵盖了Android应用开发中的高级主题,如自定义视图、动画、多线程或服务等。例如,chapter16_5...

    Chapter_04_game_

    针对低性能设备优化代码,使用动态加载资源、多线程技术以及智能内存管理,都是提高游戏运行效率的重要策略。本章可能会详细讲述这些技术的实现和最佳实践。 此外,游戏的输入系统也是一个挑战。不同平台有着不同的...

    Chapter1_AndroidCartoonifier.rar_opencv安卓

    此外,考虑到性能问题,可以在适当的地方使用多线程或异步处理来提高处理速度。 总的来说,将OpenCV应用于Android视频捕获,可以实现丰富的视觉效果,如本例中的动画卡通化。这需要对Android的Camera API和OpenCV的...

    Chapter11_Media_MiniPlayer.rar_android开发_Java_

    本项目"Chapter11_Media_MiniPlayer"旨在讲解如何利用Java开发一个简单的迷你音乐播放器。这个迷你播放器可能包含播放、暂停、停止、下一曲、上一曲等基本功能,同时也可能支持歌曲切换和音量控制。下面将详细探讨这...

    Chapter_03_game_

    - 使用跨平台的并发库,如Boost.Thread或C++11及更高版本的std::thread。 6. **网络编程**: - 探讨跨平台的网络库,如libcurl、SFML网络模块,以及如何处理IPv4和IPv6的兼容性问题。 - 学习TCP/IP和UDP套接字的...

    Chapter5_操作系统支持(2019AD_OS)1

    本章节主要探讨了操作系统在分布式环境中的作用,包括资源管理、操作系统层、保护机制、线程、进程、通信、虚拟化、代码迁移以及处理器任务分配等多个方面。 首先,分布式系统是操作系统的核心组成部分,它们负责...

Global site tag (gtag.js) - Google Analytics