• pthread


    pthread是UNIX操作系统中创建和控制线程的一系列API,通过了解这些API,可以更加清晰的理解线程究竟是什么。

    调用pthread的API首先要包含<pthread.h>这一头文件,以下为pthread内的基础API。

    1、pthread_create(创建线程)

    int pthread_create(pthread_t *restrict tidp,
    <span style="white-space:pre">		</span>   const pthread_attr_t *restrict attr,
                       void *(*start_rtn)(void*),void *restrict arg);

    tidp::线程的ID,主线程从中获得新建线程的ID;

    attr:控制线程的属性,置为NULL,表示使用默认属性;

    start_rtn:新建线程运行的函数的入口地址;

    arg:函数所需的参数。
    由此可见,在实际操作中,线程的执行部分就是一个函数。

    2、pthread_exit(终止线程)

    线程有三种终止方式:1、正常返回;2、被其它线程取消;3、线程本身调用pthread_exit。

    void pthread_exit(void *rval_ptr);


    rval_ptr:线程终止时返回的信息。

    3、pthread_join(等待其它线程的结束)

    int pthread_join(pthread_t thread, void **rval_ptr);


    thread:要等待的线程ID;

    rval_ptr:获得线程终止时返回的信息,NULL则表示不接受返回的信息。

    线程调用pthread_join时,自身被阻塞,当等待的线程终止时,该线程才被唤醒。

    4、pthread_cancel(取消其它进程)

    int pthread_cancel(pthread_tid);


    tid:要取消的线程ID;




  • 相关阅读:
    12.14 Daily Scrum
    12.13 Daily Scrum
    12.12 Daily Scrum
    12.11 Daily Scrum
    12.10 Daily Scrum
    12.9 Daily Scrum
    12.8 Daily Scrum
    M1事后分析汇报以及总结
    alpa开发阶段团队贡献分
    第9周团队作业
  • 原文地址:https://www.cnblogs.com/bgmind/p/3946109.html
Copyright © 2020-2023  润新知