多线程02---pThread简介
来源:互联网 发布:韩顺平js下载 编辑:程序博客网 时间:2024/05/16 06:14
1.简介
pthread 是属于 POSIX 多线程开发框架。它是c语言提供的一个跨平台的多线程解决方案。由于其在iOS编程中,操作比较麻烦,一般不用,这里介绍仅仅作为了解。
2.pthread的使用
通过以下函数创建pthread,在C语言中类型的结尾通常 _t/Ref,而且不需要使用 *:
int pthread_create(pthread_t * __restrict, const pthread_attr_t * __restrict, void *(*)(void *), void * __restrict);
参数:
1. pthread_t * __restrict 线程代号的地址 2. onst pthread_attr_t * __restrict 线程的属性 3. 调用函数的指针 - void *(*)(void *) - 返回值 (函数指针)(参数) - void * 和 OC 中的 id 是等价的 4. void * __restrict :传递给该函数的参数
返回值:
- 如果是0,表示正确
- 如果是非0,表示错误码
3.代码实战:
#import "ViewController.h"#import <pthread.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSString *str = @"MR"; pthread_t thread; pthread_create(&thread, NULL, &demo, (__bridge void *)(str));}void* demo(void* params){ NSString *str = (__bridge NSString *)(params); for (int i = 0 ; i < 100; i++) { NSLog(@"%@",str); } return NULL;}@end
__bridge(桥接)
- 在 ARC 开发中,如果设计到和 C 语言中相同的数据类型进行转换时,需要使用 __bridge “桥接”
- 在 OC 中,如果是 ARC 开发,编译器会在编译的时候,自动根据代码结构,添加 retain, release, autorelease
- ARC 只负责 OC 部分的代码,不负责 C 的代码,如果 C 语言的框架出现 retain/create/copy 字样的函数,都需要release
运行结果
0 0
- 多线程02---pThread简介
- POSIX thread (pthread) 多线程编程简介
- Pthread 简介
- pthread简介
- Pthread多线程
- pthread多线程
- 多线程pthread
- 多线程pthread
- 【C/C++多线程编程之二】pthread简介
- POSIX thread (pthread) 简介
- POSIX thread (pthread) 简介
- pthread相关简介
- POSIX thread (pthread) 简介
- pthread线程库简介
- POSIX thread (pthread) 简介
- pthread相关简介
- POSIX thread (pthread) 简介
- Pthread线程库简介
- C#.NET中的CTS、CLS和CLR
- Eclipse插件扩展点清单
- 南邮 OJ 1922 HUMA的惩罚
- Android switch控件的使用,及简单样式改变
- poj-3020-Antenna Placement-二分图
- 多线程02---pThread简介
- 51Nod_1067Bash游戏 V2
- Centos安装完mysql却不知道初始密码无法进入,改为自己的密码
- 深搜的学习
- idea中文乱码问题
- 南邮 OJ 1947 参赛选手身高问题
- MZL's City (hdu 5352 最小费用流 ||二分图匹配)
- 泛型学习笔记
- CSS3中transform,transition和animation的简介和用法示例