问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言实现多线程

发布网友 发布时间:2022-04-20 03:22

我来回答

2个回答

热心网友 时间:2022-05-13 04:16

目录:

Linux操作系统,C语言实现多线程

Windows操作系统,C语言实现多线程

Windows下的多线程(不带停止)

Linux操作系统,C语言实现多线程:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void * ThreadOne ( void * threadArg )
{
    printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );
    return NULL;
}
int main ( void )
{
    pthread_t ThreadID;   /* 记录线程标识符 */
    void * waitingResult;  /* 等待线程退出的等待结果 */
    int errorCode;         /* 记录线程的错误代码 */
    char * aMessage = "这是线程的参数" ;
    /* 创建并启动线程ThreadOne。若返回值非零,则线程创建失败 */
    errorCode = pthread_create( &ThreadID, NULL, ThreadOne, aMessage );
    if ( errorCode != 0 )
    {
        printf ("线程ThreadOne创建失败。错误代码:%d\n", errorCode );
        return EXIT_FAILURE ;
    }
    /* 等待线程标识符为的ThreadID的线程结束 */
    errorCode = pthread_join( ThreadID, &waitingResult );
    if ( errorCode != 0 )
    {
        printf ( "等待线程退出等待失败。错误代码:%d\n" , errorCode ) ;
        return EXIT_FAILURE ;
    }
    printf( "线程的返回值是%p\n", waitingResult );
    return EXIT_SUCCESS ;
}

Windows操作系统,C语言实现多线程:

#include <stdio.h>
#include <windows.h>
DWORD APIENTRY ThreadOne ( LPVOID threadArg )
{
    printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );
    return 0;
}
int main ( void )
{
    HANDLE hThread;  /* 记录线程句柄 */
    DWORD ThreadID;  /* 记录线程ID号 */
    DWORD waitingResult;  /* 等待线程退出的等待结果 */
    DWORD threadExitCode;  /* 记录线程的返回值 */
    char * aMessage = "这是线程的参数" ;
    /* 创建并启动线程ThreadOne,返回值为线程句柄,赋值给hThread */
    hThread = CreateThread ( NULL, 0L, ThreadOne, (LPVOID)aMessage, 0L, &ThreadID );
    if ( hThread == NULL )
    {
        printf ("线程ThreadOne创建失败。错误代码:%lu\n", GetLastError() );
        return EXIT_FAILURE ;
    }
    /* 等待线程句柄为的hThread线程结束 */
    waitingResult = WaitForSingleObject ( hThread, INFINITE );
    if ( waitingResult == WAIT_FAILED )
    {
        printf ( "等待线程退出等待失败。错误代码:%lu\n" , GetLastError() ) ;
        return EXIT_FAILURE ;
    }
    if ( GetExitCodeThread ( hThread , &threadExitCode ) )
        printf ( "线程的返回值是%lu\n", threadExitCode ) ;
    else
        printf ( "获取线程的返回值获取失败。错误代码:%lu\n" , GetLastError() ) ;
    return EXIT_SUCCESS ;
}

Windows下的多线程:(不带停止)

#include <stdio.h>
#include <windows.h>
DWORD WINAPI oxianchen(LPVOID lpParam);
int main(int argc, char *argv[])
{
int num=0;
CreateThread(NULL,NULL,oxianchen,&num,NULL, NULL);
while(1)
{
num++; 
printf("主线程! %05d\n",nu***eep(40);
}
return 0;
}
DWORD WINAPI oxianchen(LPVOID lpParam)
{
int* a=lpParam;
while(1) 
{
++*a; 
printf("副线程! %05d 0x%p\n",*a,a); 
Sleep(80);
}
return 0;
}

热心网友 时间:2022-05-13 05:34

package cn.sdeit.file;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class ReadTxt
{
private int id;
public String getArticle(String path,int id)
{
String url = path+id+".txt";
String string = "";
String allString = "";
File file=new File(url);
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8"));
while((string=reader.readLine())!=null)
{
allString += string+"\r\n";
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
return allString;
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
氢离子和碳酸根 氢离子和碳酸氢根 哪个反应快为什么 乌金木有哪些家具 乌金木家具如何搭配 木饰面装修多少钱一平方 关于加速度知识点的三个疑问 ...章探究加速度与力质量的关系知识点|物理加速度的5个公式 这只黑猫属于什么品种 孟买猫的免疫力如何 点火开关上的1234分别于红黄蓝黑线谁对应 万和热水器拨码开关,1234是全开的吗 为何c多线程的输出数据不完整 浪庭音响语音怎么点歌? 撞妖小说txt全集免费下载 高级经济师怎么考 高级经济师怎么申报条件 考经济师有没有必要报培训班? 高级经济师报名时间是什么? 高级经济师怎样考? 北京高级经济师培训机构哪个好 什么是高级经济师,高级经济师有什么作用 怎么样才知道音箱有没有蓝牙? 添加网络打印机,找不到工作组里面的打印机 添加网络打印机时找不到共享打印机怎么办? 在另一台电脑上添加网络打印机时找不到共享打印机... 用钱币来占卜一天可以占卜几次 金钱卦占卜6币如何排序 win10连不上局域网内的共享打印机,提示找不到打印... 金钱卦占卜,占得六爻,请问动爻是哪个?打个比方... 易经金钱卦的占卦的爻变的爻辞是易经里哪看的? 添加网络打印机时,到了浏览打印机时,可以看到共... C语言多线程的概念 c的多线程实现 C语言多线程的操作步骤 c语言多线程 C语言多线程实现 c语言中怎样创建多线程? c语言多线程问题 c多线程有几种实现方法 C语言多线程的介绍 C语言多线程线程同步可以干什么 C语言多线程的优势 浪庭音响L-82怎么连接话筒 山东省传染病医院怎么样? 济南传染病医院什么样 山东济南市传染病医院的科室 在山东治乙肝,济南传染病医院和省立医院那个更好? 山东省内医科类大学排名? 山东省内的医学类的大学排名? 枣庄市王开传染病医院怎么样? 山东医科大学属于几本啊