【Linux】进程与线程的区别

进程
程序的⼀个执行实例。分配系统资源(CPU时间,内存)的实体。

线程
一个进程内部的控制序列。

区别
1、进程是资源竞争的基本单位;线程是调度的基本单位。
2、进程是资源管理的最小单位;线程是程序执行的最小单位
3、一个进程可以由多个线程组成,至少有一个执行线程;线程与同属一个进程的其他的线程共享进程所拥有的全部资源(例如:文件描述符表、当前工作目录、用户id和组id等)。

   1 #include<stdio.h>
   2 #include<unistd.h>
   3 #include<string.h>
   4 #include<pthread.h>
   5 #include<stdlib.h>
   6        
   7 void *ThreadEntry(void *arg){
   8     int i;
   9     for(;;){
  10         printf("I am thread\n");
  11         sleep(1);
  12     }  
  13 }      
  14        
  15 int main()
  16 {      
  17     pthread_t tid1,tid2;
  18     int ret1 =pthread_create(&tid1,NULL,ThreadEntry,NULL);
  19     if(ret1 != 0)
  20     {  
  21     fprintf(stderr,"pthread_create1:%s\n",strerror(ret1));1
  22         exit(EXIT_FAILURE);
  23     }  
  24        
  25     int ret2 =pthread_create(&tid2,NULL,ThreadEntry,NULL);
  26     if(ret2 != 0)
  27     {  
  28      fprintf(stderr,"pthread_create2:%s\n",strerror(ret2));
  29         exit(EXIT_FAILURE);
  30     }  
  31     int i;
  32     for(;;){
  33         printf("I am main thread\n");
  34         sleep(1);
  35     }
  36     return 0;
  37 }

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值