`
东边日出西边雨
  • 浏览: 262720 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

带join的多线程程序

阅读更多

带join的多线程程序。

 

#include <stdio.h>
#include <pthread.h>

#define NTHREADS 10
void *thread_function(void *);
pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
int  counter = 0;

main()
{
   pthread_t thread_id[NTHREADS];
   int i, j;

   for(i=0; i < NTHREADS; i++)
   {
      pthread_create( &thread_id[i], NULL, thread_function, NULL );
   }

   for(j=0; j < NTHREADS; j++)
   {
      pthread_join( thread_id[j], NULL); 
   }
  
   /* Now that all threads are complete I can print the final result.     */
   /* Without the join I could be printing a value before all the threads */
   /* have been completed.                                                */

   printf("Final counter value: %d\n", counter);
}

void *thread_function(void *dummyPtr)
{
   printf("Thread number %ld\n", pthread_self());
   pthread_mutex_lock( &mutex1 );
   counter++;
   sleep(1);
   printf("cur couter is %d\n", counter);
   pthread_mutex_unlock( &mutex1 );
}

 

 

分享到:
评论

相关推荐

    POSIX多线程程序设计随书源码

    在POSIX环境中,多线程程序设计通常涉及以下几个核心知识点: 1. **线程创建**:`pthread_create`函数用于创建新的线程。程序员需要提供线程函数的指针、线程参数、线程属性(可选)以及一个用于存储新线程标识符的...

    POSIX多线程程序设计

    在深入探索 POSIX 多线程程序设计之前,我们需要了解POSIX(可移植操作系统接口)是一个定义一系列UNIX系统服务的接口标准,这些服务包括文件处理、进程控制、信号处理、定时器、多线程等,POSIX标准让编写的应用...

    如何创建带参数多线程程序

    VB.NET作为.NET Framework的一部分,提供了强大的多线程支持,使得开发者能够轻松创建带参数的多线程程序。下面我们将详细探讨如何在VB.NET中实现这一功能。 首先,我们需要理解什么是线程。线程是操作系统分配CPU...

    简单多线程程序

    本教程“简单多线程程序”旨在帮助初学者理解这一核心概念。 多线程是指在一个进程中同时运行多个独立的执行线程。每个线程都有自己的程序计数器、栈和局部变量,它们共享进程的全局变量和系统资源。通过多线程,...

    C++多线程 最简易的多线程程序

    在本“C++多线程 最简易的多线程程序”中,我们将探讨如何使用C++11及更高版本提供的线程库来创建和管理线程。这个简易的实现为初学者提供了一个很好的起点,让大家了解多线程的基本概念和用法。 首先,要使用C++的...

    在C#中编写多线程应用程序

    ### 在C#中编写多线程应用程序 #### 引言 多线程是现代软件开发中的一个重要概念,尤其是在像C#这样的高级编程语言中。它允许程序同时执行多个任务,从而提高了应用程序的性能和响应性。本文将详细介绍如何在C#中...

    POSIX多线程程序设计中文版-Examples

    POSIX多线程程序设计是Linux系统开发中的一个重要领域,它允许程序员创建并管理多个并发执行的线程,以提高程序的效率和响应性。在Linux环境下,POSIX线程(通常称为pthreads)标准提供了丰富的接口来实现多线程编程...

    多线程应用程序设计

    2. **多线程程序设计与实现**:利用pthread库函数编写多线程程序。在这个过程中,需要学习如何创建线程、管理线程间的同步与通信,以及如何处理线程生命周期中的各种问题。 3. **实验过程中的常见问题解决**:在实验...

    通过ActiveXExe文件建立多线程程序

    例如,项目中的`MT.exe`可能是这个多线程程序的执行文件,它可能包含多个线程,每个线程负责执行特定的任务。 `MT.vbp`是Visual Basic工程文件,它存储了项目的所有组件和设置。在这个文件中,你可以看到有关如何...

    posix多线程程序设计源码

    在POSIX标准下进行多线程程序设计,开发者可以利用线程来实现并发执行,提高程序的运行效率。下面将详细讨论POSIX多线程程序设计的相关知识点。 1. **线程的创建**: - 使用`pthread_create()`函数创建新线程。该...

    POSIX多线程程序设计中文版+源码

    《POSIX多线程程序设计》这本书可能是关于如何在遵循POSIX标准的系统(如Linux、Unix等)上编写多线程程序的指南。书中可能涵盖了以下关键知识点: 1. **线程概念**:线程是进程中的执行单元,每个线程有自己的程序...

    java多线程控制的赛跑程序

    这个“java多线程控制的赛跑程序”是一个示例,展示了如何利用多线程来模拟一场赛跑比赛。在这个程序中,每个参赛者(线程)都有自己的运行逻辑,通过线程的并发执行来模拟实际的赛跑过程。接下来,我们将深入探讨...

    如何创建带参数多线程程序实例C#.net源代码编写

    本文将详细讲解如何在C#.NET环境中创建一个带参数的多线程程序,并提供相关的源代码实例。 一、多线程基础 多线程是操作系统中的一个概念,指的是在一个进程中可以同时执行多个独立的执行流,每个执行流被称为一个...

    (中英文)-POSIX多线程程序设计-Programming with POSIX Threads

    《Programming with POSIX Threads》是David Butenhof撰写的一本经典教程,主要针对Unix/Linux环境下的多线程程序设计。本书深入浅出地介绍了POSIX线程(也称为pthreads)API,是理解并掌握多线程编程的重要参考资料...

    POSIX多线程程序设计.pdf

    POSIX(Portable Operating System Interface)是一组标准,旨在确保不同...通过学习和实践POSIX多线程程序设计,开发者可以编写出高效、可靠的多线程应用程序,充分利用多核处理器的优势,提升软件性能和用户体验。

    我总结的Java多线程程序设计

    Java多线程程序设计是Java开发中的重要组成部分,它允许程序在同一时间执行多个任务,从而提高了系统的效率和响应性。本文将深入探讨Java多线程的相关概念和实现方式。 一、理解多线程 1. **线程定义**:线程是一...

    POSIX多线程程序设计中文版

    ### POSIX多线程程序设计知识点概述 #### 一、引言 《POSIX多线程程序设计中文版》是一本专注于介绍POSIX环境下多线程编程技术的专业书籍。该书内容丰富,覆盖了多线程的基本概念、核心原理以及实际应用技巧等多个...

    POSIX 多线程程序设计源码

    POSIX(Portable Operating System Interface)多线程程序设计是一种在操作系统环境下编写并发程序的方法,它遵循IEEE POSIX标准,为开发者提供了高效、灵活的线程管理机制。这本书的源码是学习和理解POSIX线程编程...

Global site tag (gtag.js) - Google Analytics