c语言创建线程函数 c语言创建线程函数怎么写

C语言怎么写线程代码

通常使用CreateThread函数来创建新的线程.(Unix下使用pthread_create函数)

10年积累的成都网站制作、成都网站设计、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有纳溪免费网站建设让你可以放心的选择与我们合作。

首先指出,线程与线程之间,是并列关系,不会存在"父子线程"的概念.

在Windows平台下,CreateThread函数包含在 Windows.h 文件内,包含此文件即可正常使用.

以下为CreateThread函数的声明:

HANDLE CreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes,//指向安全性属性描述结构体的

//指针,通常可以忽略的.

SIZE_T dwStackSize,//指定新线程初始的栈大小,若不关心,可以用0填充,来要求使用

//默认值

LPTHREAD_START_ROUTINE lpStartAddress,//用来充当线程的函数的指针.

LPVOID lpParameter,//要传递给函数的参数,这个值本身就是那个参数,而不是参数的地址

DWORD dwCreationFlags,//创建的方式,0表示正常,创建后立即开始运行

LPDWORD lpThreadId//用来接受函数反馈的线程ID的指针.

);

用来充当新的线程的函数格式:

DWORD WINAPI ThreadProc(LPVOID);

CreateThread函数若成功了,返回新线程的句柄,若失败了,则返回NULL.

若用CREATE_SUSPENDED填充dwCreation Flags则创建的线程先挂起来,并不直接开始运行,要用ResumeThread函数恢复线程,才能继续运行.

C语言如何创建线程(windows)系统中

下面为C语言调用WIN API实现创建线程:

1,导入windows.h头文件

2,声明实现方法DWORD WINAPI ThreadProc1( LPVOID lpParam ) {}

3,在main()方法中调用 CreateThread(NULL,0 ,ThreadProc1,NULL,0,NULL);

要注意的是主线程不能结束,如果主线程结束,则它的子线程也会被杀死。

#include windows.h

#include stdio.h

#includetime.h

DWORD WINAPI ThreadProc1( LPVOID lpParam )

{

int i=0;

time_t timer;

while(1)

{

timer=time(NULL);

printf("The current time is: %s\n",asctime(localtime(timer)));

sleep(1);

}

}

void main()

{

int i=0;

//让主线程进入循环,主线程若退出,子线程1,2会被系统“杀死”

//创建线程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

for(;;)

{

;

}

}

c语言怎么创建线程和使用

用 pthread_t创建线程名字。然后pthread_create开辟线程。

具体使用。

比如有一个函数

void *hello()

{

printf("create pthread!\n");

}

,然后在main函数里面调用,

int main()

{

pthread_t a_thread;

pthread_create(a_thread, NULL, (void *)hello, NULL);

}

这样就完成了hello()函数的创建和使用,接下来hello函数就会在一个线程中运行

c语言中怎样创建多线程?

/*这是我写的最简单的多线程程序,看懂不?*/

#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;i200000000;i++)

{

;

}

}

}

DWORD WINAPI ThreadProc2( LPVOID lpParam )

{

int i=0,j=0;

while(1)

{

printf("hello,this thread 2 ...\n");

//延时

for(i=0;i200000000;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;i200000000;i++)

{;}

}

}


本文题目:c语言创建线程函数 c语言创建线程函数怎么写
地址分享:http://scyanting.com/article/ddcoigd.html