c语言中怎样创建多线程。最好有一个例子,谢谢!!
发布网友
发布时间:2022-04-23 15:03
我来回答
共2个回答
热心网友
时间:2023-08-15 18:26
/*这是我写的最简单的多线程程序,看懂不?*/
#include <windows.h>
#include <stdio.h>
//#include <strsafe.h>
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{
int i=0,j=0;
while(1)
{
printf("hello,this thread 1 ...\n");
//延时
for(i=0;i<200000000;i++)
{
;
}
}
}
DWORD WINAPI ThreadProc2( LPVOID lpParam )
{
int i=0,j=0;
while(1)
{
printf("hello,this thread 2 ...\n");
//延时
for(i=0;i<200000000;i++)
{
;
}
}
}
void main()
{
int i=0;
//创建线程1
CreateThread(
NULL, // default security attributes
0, // use default stack size
ThreadProc1, // thread function
NULL, // argument to thread function
0, // use default creation flags
NULL); // returns the thread identifier
//创建线程2
CreateThread(
NULL, // default security attributes
0, // use default stack size
ThreadProc2, // thread function
NULL, // argument to thread function
0, // use default creation flags
NULL); // returns the thread identifier
//让主线程进入循环,主线程若退出,子线程1,2会被系统“杀死”
while(1)
{
printf("hello,this thread 0 ...\n");
//延时
for(i=0;i<200000000;i++)
{;}
}
}
热心网友
时间:2023-08-15 18:26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void function()
{
for (int i = 0; i < 50; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
}
static void Main(string[] args)
{
Console.WriteLine("Main begin!");
ThreadStart ts = new ThreadStart(function);
Thread t = new Thread(ts);
t.Start();
for (int i = 0; i < 50; i++)
{
Console.WriteLine("Main end!");
Thread.Sleep(2000);
}
}
}
}