首页 > 其他分享 >pthread_create用法,创建线程输出2*n

pthread_create用法,创建线程输出2*n

时间:2023-12-25 16:35:55浏览次数:38  
标签:int create value 线程 result pthread include void

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

void *calculate(void * arg){
    int value = *(int *)arg;
    long value_2 = 2*(long)value;
    printf("The thread_id is %lu, created by %d\n", pthread_self(), getpid());
    sleep(1);
    return (void *)value_2;
}

int main()
{
    pthread_t pthread_buf;
    int n;
    //input a number n;
    printf("Please input a number n:");
    scanf("%d", &n);
    //创建一个线程
    pthread_create(&pthread_buf, NULL, calculate, &n);
    void *result;
    pthread_join(pthread_buf, &result);
    printf("the result of 2*n is : %ld\n", (long)result);


}

标签:int,create,value,线程,result,pthread,include,void
From: https://blog.51cto.com/u_16470971/8969586

相关文章

  • Java多线程:深入理解Java中的死锁
    一、引言死锁是计算机科学中的一个重要概念,特别是在并发编程中。在Java中,死锁是指两个或更多的线程永久地等待对方释放资源的情况。当两个或更多的线程无限期地等待对方释放锁定的资源时,就会发生死锁。本文将通过示例和深入分析,探讨Java中的死锁问题。二、示例:银行家问题为了更好地......
  • python3 多线程ping当前网段主机是否存活
    1.python3多线程#主线程只负责生成工作线程#工作线程只做具体的工作#多线程共享进程里的内存块#多进程不共享importthreadingdefHello(world,tedu):print('Hello%s%s!'%(world,tedu))if__name__=='__main__':foriinrange(3):th......
  • 轻量级用户模式线程
    Loom项目通过引入称为纤程的轻量级用户模式线程,在Java中引入了一种新颖的并发方法。与传统线程不同,纤维非常轻,并且可以大量生成,而不会产生相同的开销。这项创新旨在简化Java中的并发性,使开发人员更容易编写可扩展且高效的并发代码。纤维模型简单来说,纤程可以看作是在常规Ja......
  • 性能测试:通过简单的例子理解并发量,线程数,吞吐量,TPS
    看个简单的例子①老王开了家餐厅我们的主角老王,在M市投资新开业了一家,前来用餐的顾客络绎不绝:餐厅里有4种不同身份的人员: 用户一次完整的用餐流程如下:1.顾客到店小二处付款点餐  =>  2.小二将订单转发给后厨  =>  3.后厨与备菜工配合,取材完成烹饪后交给小......
  • SQL Server Management Studio (SSMS)教程:创建数据库create database、创建表create t
    USEmasterGOIFNOTEXISTS(SELECTnameFROMsys.databasesWHEREname=N'TutorialDB')CREATEDATABASE[TutorialDB]GOUSE[TutorialDB]--Createanewtablecalled'Customers'inschema'dbo'--Dropthetable......
  • Qt 中的多线程 :重写 run 函数
    Qt中的多线程主要是为了防止复杂耗时的操作阻塞主线程,导致界面卡死的问题。可以通过继承QThread类后,重写run()函数来实现。一、定义继承自QThread的类定义一个类继承自QThread,并重写虚函数run(),将耗时的操作放在run()函数中,然后在主线程中来通过调用该类的start()......
  • Python入门实战:多线程与多进程
    1.背景介绍随着信息技术的飞速发展,计算机技术也在日新月异的推进着自己的发展趋势。近几年,随着人工智能、云计算等新兴技术的兴起,计算机已经可以处理更加复杂的计算任务,如图像识别、语音识别、机器学习、数据分析等。由于这些新兴技术的需求驱动,传统的单机应用正在慢慢被替换成分布......
  • 面试官:什么是虚拟线程?为什么要有虚拟线程?
    Java中的虚拟线程,也叫做协程或“轻量级线程”,它诞生于JDK19(预览API),正式发布于JDK21,它是一种在Java虚拟机(JVM)层面实现的逻辑线程,不直接和操作系统的物理线程一一对应,因此它可以减少上下文切换所带来的性能开销。操作系统线程、普通线程(Java线程)和虚拟线程的关系如下:虚拟线......
  • CPP创建子线程
     #include<iostream>#include<thread>usingnamespacestd;structMyStruct{inta=0;strings="abc雷";};//线程入口voidproc(MyStruct&a){for(intm=0;m<50;m++){if(a.a==0)......
  • 子线程和中断的比较
    子线程是在主线程之外创建的线程。与主线程相比,子线程通常用于执行耗时的任务,以避免阻塞主线程的运行。子线程可以同时运行多个,并且可以进行多任务处理。子线程的运行状态包括:新建状态、就绪状态、运行状态、阻塞状态和死亡状态。子线程的启动可以通过start()方法来实现,并且可以通......