#include <pthread.h>
int pthread_create(pthread_t *restrict tidp,
const pthread_attr_t *restrict attr,
void *(*start_rtn)(void),
void *restrict arg);
Returns: 0 if OK, error number on failure
第一个参数为指向线程标识符的指针。
第二个参数用来设置线程属性。
第三个参数是线程运行函数的起始地址。
最后一个参数是运行函数的参数。
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#define ERROR -1
#define OK 0
/*************************
*函数名:thread_function
*描述:线程函数,打印
*输入参数:无
*输出参数:无
*返回值:无
* **********************/
void *thread_function(void *arg)
{
int i = 0;
for ( i = 0; i < 20; i++)
{
printf("Thread says hi,%d!\n",i);
}
}
int main(void)
{
pthread_t mythread;
if ( pthread_create(&mythread,NULL,thread_function,NULL) )
{
printf("Error creating thread\n");
return ERROR;
}
/*等待另一个线程执行完毕*/
if ( pthread_join(mythread,NULL))
{
printf("Error Joining thread");
return ERROR;
}
printf("main over!\n");
return OK;
}
gcc thread.c -o thead 编译一把:会报错,如下,
/tmp/ccIlZgdh.o: In function `main':
thread.c:(.text+0x65): undefined reference to `pthread_create'
thread.c:(.text+0x91): undefined reference to `pthread_join'
collect2: ld 返回 1
需要更改一下,因为pthread默认是不在Linux库中的。
gcc thread.c -o -lpthread thread
即可
分享到:
相关推荐
pthread 库是 Linux 下多线程编程的核心库,提供了丰富的函数和变量来控制线程的创建、执行和同步。 在本实例中,我们将创建两个线程来实现对一个数的递加。这个实例可以帮助我们更好地理解多线程编程的基本概念和...
"Linux下的多线程编程" Linux下的多线程编程是一种高效的程序设计方法,它可以将一个程序的任务划分为多个部分,每个部分是一个顺序控制流。多线程编程可以实现并行计算,高效利用多处理器,并且具有许多优点,如...
《Pthread多线程编程指南》是一本专为开发者准备的深入解析Pthread线程库的手册,尤其适合那些在UNIX、Linux等操作系统环境中进行多线程编程的工程师。Pthread,全称POSIX线程(Portable Operating System Interface...
在Linux环境下进行C语言多线程编程,可以利用POSIX线程库,也称为pthread库。这个库提供了创建、同步和管理线程的一系列接口,使得开发者能够在单个进程中同时执行多个任务,从而提高程序的并行性。下面将详细探讨多...
在Linux下,多线程编程主要使用POSIX线程(pthread)接口。编写pthread程序需要包含`pthread.h`头文件,并链接`libpthread.a`库。例如,下面是一个简单的多线程程序示例: ```c #include <pthread.h> #include ...
在Linux系统下进行多线程编程是开发高效并发应用程序的关键技术之一。本文将深入探讨Linux环境中的多线程概念、创建与管理线程的方法、线程同步与通信机制,以及多线程编程中可能遇到的问题和解决策略。 一、多线程...
在Linux操作系统中,多线程编程是通过POSIX线程库(pthread)来实现的,这个库提供了一套丰富的API,使得开发者可以在单个进程中创建并管理多个执行线程。`pthread`是POSIX标准的一部分,它允许程序员创建轻量级进程...
Linux 下的多线程编程遵循 POSIX 线程接口,称为 pthread。编写 Linux 下的多线程程序,需要使用头文件 pthread.h,连接时需要使用库 libpthread.a。 Linux 下 pthread 的实现是通过系统调用 clone() 来实现的。 ...
【Linux下的多线程编程】 在Linux操作系统中,多线程编程是一种常见且重要的编程模型,它允许多个执行流(线程)在一个进程中同时运行,以提高程序的并发性和资源利用率。多线程在系统开发中扮演着关键角色,特别是...
【Linux下的多线程编程方法】 在Linux操作系统中,多线程编程是实现高效并发执行的关键技术。自20世纪80年代中期以来,由于其节省资源和便捷的通信机制,多线程已被广泛应用于操作系统中。相较于进程,线程的创建和...
Linux下的多线程编程主要遵循POSIX线程接口标准,通常称为pthread。本文将详细介绍Linux下的多线程编程原理、基本API使用以及示例分析。 #### 二、POSIX线程(pthread) ##### 2.1 POSIX线程简介 Linux下的多线程...
Linux下的多线程编程通常基于POSIX线程(pthread)库来实现,这个库提供了创建、同步和管理线程的丰富接口。 从给定的文件内容中,我们可以提取出多个相关的知识点: 1. pthread库的包含与使用:在程序中使用...
在Linux系统中,进行C语言的多线程编程主要依赖于POSIX线程接口,即pthread。POSIX标准定义了一套跨平台的线程API,使得开发者能够在多种操作系统上编写可移植的多线程程序。在Linux环境下,pthread库提供了一系列...
Linux 下多线程编程-Pthread 与 Semaphore 的使用 Linux 下的多线程编程是通过使用 POSIX 线程接口,称为 pthread 实现的。要编写 Linux 下的多线程程序,需要使用头文件 pthread.h,连接时需要使用库 libpthread.a...
Linux系统下的多线程编程是指在Linux操作系统中,使用C语言等编程工具和多线程技术来编写能够同时执行多个任务的程序。多线程编程相较于传统的单线程编程,可以让程序更加高效地使用计算机的CPU资源,提高程序的响应...
嵌入式Linux多线程编程 嵌入式Linux多线程编程是嵌入式系统开发中的一种重要技术,能够提高系统的效率和响应速度。本章节将详细介绍嵌入式Linux多线程编程的基本概念、线程的创建、同步和互斥、线程属性、多线程...
通过理解和掌握上述`pthread`多线程编程的知识点,开发者可以在Linux环境中创建高效的多线程应用程序,有效地利用多核处理器的计算能力。然而,多线程编程也带来了复杂性和挑战,例如同步问题和资源管理,因此在实践...
本文将深入探讨标题和描述中提到的“pthread多线程求pi”这一主题,以及并行计算在解决复杂计算问题中的应用。 首先,我们要理解π(pi)的计算是一个典型的计算密集型任务,适合于并行计算。并行计算通过分割任务...