Pthread学习笔记(1)

Pthread学习笔记(1)

  在开始写这篇笔记的时候才知道LINUX没有真正意义的线程,LINUX下没有给线程设计专有的结构体,它的线程是用进程模拟的,而它是由多个进程共享一块地址空间而模拟得到的。在这篇博客倒是有描述https://blog.csdn.net/weixin_33472998/article/details/116789184
  关于线程是什么,为什么要用线程,线程和进程的区别就不多加描述了 (主要是因为这笔记是想给自己看的,所以对某些问题的解释就网上太多了,加上去对自己写笔记太浪费时间了)

创建线程

  在Pthread的库中提供了如下函数用于线程的创建,所以要包含pthread.h这个头文件:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg)

  该函数中第一个参数为pthread_t,在库中的定义也就是一个无符号长整型:

typedef unsigned long int pthread_t;

  这是一个用于记录创建的线程id的变量类型。
  函数的第二个参数attr适用于设置线程属性的,如果是NULL则线程创建属性为默认,第三个参数为线程的入口函数,线程从该函数开始运行,第四个参数是唯一用于向创建的线程传参的参数,那么如下代码:

#include<pthread.h>
#include<stdio.h>
using namespace std;
pthread_t pt;
void* func(void* arg)
{
   
    int parentid=(int)(long)arg;
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值