zoukankan      html  css  js  c++  java
  • linuc c 代码示例

    fork的应用:

    #include "stdio.h"
    #include "string.h"
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
     
    #include <unistd.h>
    
    #define Max(a,b) ({int a1=a,b1=b; a1>b1?a1:b1;})
    
    int main()
    {
    
        int i,j,k,*q;
        char *p="abc";
        int pids[10];
        int pid;
    
        q=pids;
    
        //printf("%d 
    ", getpid());
        //sleep (3);
    
    for(i=0;i<3;i++)
    {
    
        printf("for-%d
    ",i);
        pid=fork();
        if(pid) {
            *(q++) = pid;    
        }else if(pid == 0){
            sleep(5);
            printf("child:%d 
    ", getpid());
            break;
        }
    }
        if(pid>0)
        {
            for(i=0;i<3;i++)
            {
            //    waitpid(pids[i], NULL, 0);    
                printf("parent: %d, %d 
    ", getpid(),pids[i]);
    
            }
        }
        printf("song 
    ");
    
    }

    没有waitpid时输出:

    有waitpid时:

    pthread_create 函数示例:

    #include "stdio.h"
    #include "string.h"
    #include "pthread.h"
    
    void *thr_fn(void *arg)
    {
    
    sleep(15);
        printf("sub :%d 
    ", pthread_self());
        return NULL;
    }
    
    int main()
    {
        pthread_t err;
        pthread_t ntid;
    
        err = pthread_create(&ntid, NULL, thr_fn, NULL);
        if (err != 0)
            printf("can't create thread: %s
    ", strerror(err));
        //pthread_join(ntid,NULL);
    
        printf("main :%d 
    ", pthread_self());
    sleep(16);
        return 0;
    
    
    }
  • 相关阅读:
    背景图片自适应大小(平铺)
    墨卡托投影示意图
    C# 两个类的实例之间相同属性的值的复制
    C# 并行编程 Task
    C# 并行编程 PLINQ
    C# 并行编程 Parallel
    仰望星空
    Ubuntu的人道精神
    神经网络简介
    并行计算简介
  • 原文地址:https://www.cnblogs.com/siqi/p/4060834.html
Copyright © 2011-2022 走看看