多线程和多进程还是有很多区别的。其中之一就是,多进程是linux内核本身所支持的,
而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都是相互隔离的,而多线程则不同,
不同的线程除了堆栈空间之外所有的数据都是共享的。说了这么多,我们还是自己编写一个多线程
程序看看结果究竟是怎么样的。
[cpp]viewplaincopy
#include
#include
#include
#include
voidfunc_1(void*args)
{
while(1){
sleep(1);
printf(thisisfunc_1!\n);
}
}
voidfunc_2(void*args)
{
while(1){
sleep(2);
printf(thisisfunc_2!\n);
}
}
intmain()
{
pthread_tpid1,pid2;
if(pthread_create(pid1,NULL,func_1,NULL))
{
return-1;
}
if(pthread_create(pid2,NULL,func_2,NULL))
{
return-1;
}
while(1){
sleep(3);
}
return0;
}
推荐: