`

创建线程

 
阅读更多
pthread_create:创建新的控制流
pthread_exit:从现有的控制流中退出
pthread_join:从控制流中得到退出状态
pthread_cleanup_push:注册在退出控制流时调用的函数
pthread_self:获取控制流的ID
pthread_cancel:请求控制流的非正常退出


#include"apue.h"
//#include<stdio.h>
#include<pthread.h>

pthread_t ntid;

void printids(const char* s)
{
    pid_t   pid;
    pthread_t   tid;

    pid = getpid();
    tid = pthread_self();
    printf("%s pid %u tid %u (0x%x)\n",s,(unsigned int)pid,(unsigned int)tid,(unsigned int)tid);
}

void * thr_fn(void * arg)
{
    printids("new thread:");
    return ((void *)0);
}

void* testCallBack(void *arg)
{
    printf("this is my thread create");
}

int main()
{
    int err;

    err = pthread_create(&ntid,NULL,thr_fn,NULL);
    if(err!=0)
        err_quit("can't create thread: %s\n",strerror(err));
    printids("main thread:");
    sleep(1);//这时就会调用thr_fn
    exit(0);
}

main thread: pid 2862 tid 3078543056 (0xb77ed6d0)
new thread: pid 2862 tid 3078536048 (0xb77ebb70)
分享到:
评论

相关推荐

    Java使用Callable和Future创建线程操作示例

    "Java使用Callable和Future创建线程操作示例" Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作...

    创建线程,利用互斥实现线程共享变量通信

    一、题目: 创建线程,利用互斥实现线程共享变量通信 二、目的 掌握线程创建和终止,加深对线程和进程概念的理解,会用同步与互斥方法实现线程之间的通信。 三、内容和要求 软件界面上点“创建线程” 按钮,创建三个...

    VB创建线程动态链接库(VBCreateThread.dll)

    功能:VB创建线程(其它语言没测试过,不知是否能用)。 编写原因:鉴于VB创建稳定线程的需求 特点:可替代API CreateThread来创建线程,且自动对线程进行初始化,线程函数中不再需要初始化线程就可以使用对象、类、...

    在Java中创建线程有两种方法

    在Java编程语言中,创建线程是实现并发执行任务的关键步骤。Java提供了两种主要的方法来创建线程,分别是直接继承自`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当...

    VS2008 C# 创建线程,根据按钮可以控制线程的运行情况。

    本教程将详细介绍如何在VS2008中创建线程,并通过按钮来控制线程的运行状态。 首先,我们需要了解C#中的线程类`System.Threading.Thread`。这个类提供了创建新线程的方法,如`new Thread(new ThreadStart...

    创建线程 示例 vc++

    在VC++环境中,创建线程是一项重要的多任务处理技术,特别是在开发实时系统、网络编程以及高性能应用程序时。本文将深入探讨如何在VC++中创建线程,并基于《vc++网络编程经典案例》一书中的示例进行讲解。 线程是...

    创建线程的源代码资源

    本资源主要关注如何在不同的编程语言中创建线程,以下是对创建线程这一主题的详细阐述。 在Java中,创建线程有以下两种方法: 1. 继承Thread类:创建一个新的类,该类继承自`java.lang.Thread`,然后重写`run()`...

    分离状态创建线程

    可结合线程是默认状态,意味着在创建线程后,父线程需要通过调用`pthread_join()`函数来等待新线程的结束,以便回收资源和获取线程的返回值。在这个过程中,新线程的内存资源(如栈空间)不会被释放,直到父线程调用...

    创建线程及线程间通信

    本话题将深入探讨如何创建线程以及线程间如何进行通信,特别是通过互斥信号量实现线程的互斥访问。 首先,我们要理解什么是线程。线程是操作系统分配处理器时间的基本单位,它是进程内的执行单元。在同一个进程中,...

    Qt创建线程的两种方式+线程池方式

    1.方式1:继承 QThread 类方式:通过继承 QThread 类并重写 run() 函数来创建线程,线程对象本身即为线程。 优点:相对简单,易于理解和实现;可以直接重写 run() 函数来定义线程的逻辑;可以通过信号和槽机制与其他...

    易语言类方法创建线程

    易语言类方法创建线程源码,类方法创建线程,ddd,取当前类指针,取方法指针,创建线程,线程接口,创建循环线程,关闭循环线程,取循环线程空闲索引,循环线程接口,线程_创建线程,线程_等待执行完毕,线程_线程结束,操作_取...

    window平台下创建线程程序

    window平台下创建线程程序,已经跑通 线程1和线程2

    C++创建线程C++创建线程

    创建线程是实现多线程编程的关键步骤。本篇文章将详细探讨C++中如何创建线程,以及相关知识点。 1. **线程库的选择** 在C++11及以后的版本中,标准库提供了`&lt;thread&gt;`头文件,支持了原生的线程创建。除此之外,还...

    C# 创建线程 控制和查看线程的运行情况

    C# 创建线程 控制和查看线程的运行情况 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等

    C#创建线程

    本文将深入探讨C#中如何创建线程、多线程更新界面、使用委托以及跨线程调用控件的相关知识。 ### 创建线程 在C#中,创建线程主要通过以下两种方式: 1. **System.Threading.Thread** 类:这是最基础的创建线程的...

    创建线程类轻松实现线程管理

    Java作为多线程编程的强大语言,提供了多种创建线程的方法,其中一种是通过创建线程类来实现。本文将深入探讨如何创建线程类以及如何进行线程管理,帮助你轻松掌握这一核心技能。 首先,我们来看看如何在Java中创建...

    java中创建线程两个方法及区别

    Java提供了多种创建线程的方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口这两种方法。下面将详细阐述这两种创建线程的方法及其区别。 ### 一、通过继承`Thread`类创建线程 当一个类继承了`Thread`类...

    java tcp server 创建线程监听端口,创建线程处理连接

    这个文件可能定义了一个`TcpServerThread`类,该类包含创建`ServerSocket`、监听端口、处理新连接并创建线程的逻辑。通过阅读和理解这个源代码,你可以更深入地学习如何在Java中实现多线程TCP服务器。 总之,Java ...

    VS2019 MFC线程的创建

    总结起来,VS2019中的MFC线程创建涉及到创建自定义线程类、覆写关键成员函数、使用 `AfxBeginThread()` 创建线程以及进行线程同步。理解这些概念和实践,对于开发高效、稳定的多线程MFC应用至关重要。

    Java+创建线程的例子源码整理

    Java+创建线程的例子源码整理

Global site tag (gtag.js) - Google Analytics