22、线程入门指南

线程入门指南

1. 线程简介

线程在现代编程中扮演着至关重要的角色,它能让程序实现并发处理,提升程序的性能和响应速度。在深入探讨线程之前,有必要先了解不同系统对相关功能的支持情况。不同的 UNIX 系统对 getrusage 结构体成员的支持有所不同:
| 系统 | 支持的成员 |
| ---- | ---- |
| [SUS2002] | 前两个成员 |
| 较新的 BSD 系统(包括 FreeBSD) | 全部成员 |
| Solaris 8(在 Intel 上) | 标准成员 |
| Linux 2.4 | 标准成员 + ru_minflt, ru_majflt, ru_nswap |

要了解这些成员的具体含义,可以查看系统的 getrusage 手册页。如果想深入了解,建议在基于 BSD 的系统上进行操作。

线程的引入为程序带来了新的执行模式。在之前的示例中,通过 fork 创建的进程只有一个控制流,也就是一个线程。程序按顺序依次执行指令,栈、全局数据和系统资源会被各种指令修改,其中一些指令可能会执行系统调用。而借助 UNIX 的 POSIX 线程功能,一个进程可以拥有多个线程。每个线程都有自己的控制流(包括指令计数器和 CPU 时钟)以及自己的栈,不过进程的其他部分,如全局数据、打开的文件或当前目录等资源是共享的。

2. 线程创建

下面的代码展示了如何创建线程:

static long x = 0;
stat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值