`

Linux下的pthread多线程编程

 
阅读更多
#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

即可

分享到:
评论

相关推荐

    Linux下C语言多线程编程实例

    pthread 库是 Linux 下多线程编程的核心库,提供了丰富的函数和变量来控制线程的创建、执行和同步。 在本实例中,我们将创建两个线程来实现对一个数的递加。这个实例可以帮助我们更好地理解多线程编程的基本概念和...

    Pthread多线程编程指南

    《Pthread多线程编程指南》是一本专为开发者准备的深入解析Pthread线程库的手册,尤其适合那些在UNIX、Linux等操作系统环境中进行多线程编程的工程师。Pthread,全称POSIX线程(Portable Operating System Interface...

    linux下C语言多线程编程实例

    在Linux环境下进行C语言多线程编程,可以利用POSIX线程库,也称为pthread库。这个库提供了创建、同步和管理线程的一系列接口,使得开发者能够在单个进程中同时执行多个任务,从而提高程序的并行性。下面将详细探讨多...

    Linux下的多线程编程

    在Linux下,多线程编程主要使用POSIX线程(pthread)接口。编写pthread程序需要包含`pthread.h`头文件,并链接`libpthread.a`库。例如,下面是一个简单的多线程程序示例: ```c #include &lt;pthread.h&gt; #include ...

    linux pthread 多线程控制示例代码

    在Linux操作系统中,多线程编程是通过POSIX线程库(pthread)来实现的,这个库提供了一套丰富的API,使得开发者可以在单个进程中创建并管理多个执行线程。`pthread`是POSIX标准的一部分,它允许程序员创建轻量级进程...

    Linux系统下的多线程编程入门.pdf

    在Linux系统下进行多线程编程是开发高效并发应用程序的关键技术之一。本文将深入探讨Linux环境中的多线程概念、创建与管理线程的方法、线程同步与通信机制,以及多线程编程中可能遇到的问题和解决策略。 一、多线程...

    linux下多线程编程

    Linux 下的多线程编程遵循 POSIX 线程接口,称为 pthread。编写 Linux 下的多线程程序,需要使用头文件 pthread.h,连接时需要使用库 libpthread.a。 Linux 下 pthread 的实现是通过系统调用 clone() 来实现的。 ...

    浅谈Linux下的多线程编程.pdf

    【Linux下的多线程编程】 在Linux操作系统中,多线程编程是一种常见且重要的编程模型,它允许多个执行流(线程)在一个进程中同时运行,以提高程序的并发性和资源利用率。多线程在系统开发中扮演着关键角色,特别是...

    Linux下的多线程编程方法研究.pdf

    【Linux下的多线程编程方法】 在Linux操作系统中,多线程编程是实现高效并发执行的关键技术。自20世纪80年代中期以来,由于其节省资源和便捷的通信机制,多线程已被广泛应用于操作系统中。相较于进程,线程的创建和...

    linux下的多线程编程.pdf

    Linux下的多线程编程主要遵循POSIX线程接口标准,通常称为pthread。本文将详细介绍Linux下的多线程编程原理、基本API使用以及示例分析。 #### 二、POSIX线程(pthread) ##### 2.1 POSIX线程简介 Linux下的多线程...

    linux多线程编程.pdf

    Linux下的多线程编程通常基于POSIX线程(pthread)库来实现,这个库提供了创建、同步和管理线程的丰富接口。 从给定的文件内容中,我们可以提取出多个相关的知识点: 1. pthread库的包含与使用:在程序中使用...

    Linux下C多线程编程

    在Linux系统中,进行C语言的多线程编程主要依赖于POSIX线程接口,即pthread。POSIX标准定义了一套跨平台的线程API,使得开发者能够在多种操作系统上编写可移植的多线程程序。在Linux环境下,pthread库提供了一系列...

    Linux下的多线程编程.pdf

    "Linux下的多线程编程" Linux下的多线程编程是一种高效的程序设计方法,它可以将一个程序的任务划分为多个部分,每个部分是一个顺序控制流。多线程编程可以实现并行计算,高效利用多处理器,并且具有许多优点,如...

    Linux下多线程编程-Pthread与Semaphore的使用.doc

    Linux 下多线程编程-Pthread 与 Semaphore 的使用 Linux 下的多线程编程是通过使用 POSIX 线程接口,称为 pthread 实现的。要编写 Linux 下的多线程程序,需要使用头文件 pthread.h,连接时需要使用库 libpthread.a...

    linux系统下多线程编程.PDF

    Linux系统下的多线程编程是指在Linux操作系统中,使用C语言等编程工具和多线程技术来编写能够同时执行多个任务的程序。多线程编程相较于传统的单线程编程,可以让程序更加高效地使用计算机的CPU资源,提高程序的响应...

    嵌入式软件开发技术:第5章 嵌入式Linux多线程编程.ppt

    嵌入式Linux多线程编程 嵌入式Linux多线程编程是嵌入式系统开发中的一种重要技术,能够提高系统的效率和响应速度。本章节将详细介绍嵌入式Linux多线程编程的基本概念、线程的创建、同步和互斥、线程属性、多线程...

    pthread多线程编程

    通过理解和掌握上述`pthread`多线程编程的知识点,开发者可以在Linux环境中创建高效的多线程应用程序,有效地利用多核处理器的计算能力。然而,多线程编程也带来了复杂性和挑战,例如同步问题和资源管理,因此在实践...

    pthread多线程求pi,linux多线程pthread,C,C++

    本文将深入探讨标题和描述中提到的“pthread多线程求pi”这一主题,以及并行计算在解决复杂计算问题中的应用。 首先,我们要理解π(pi)的计算是一个典型的计算密集型任务,适合于并行计算。并行计算通过分割任务...

Global site tag (gtag.js) - Google Analytics