zoukankan
html css js c++ java
POSIX 父子进程协同一例
子进程生成fibnacii 父进程输出
#include <sys/types.h> #include <sys/shm.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define MAX_SEQUENCE 10 typedef struct { int fib_sequence[MAX_SEQUENCE]; int sequence_size; }shared_data; int main(int arg, char* argv[]) { if (arg != 2) exit(-1); pid_t pid; int segment_id, n; shared_data* seq; if (!(segment_id = shmget(IPC_PRIVATE, sizeof(shared_data), S_IRUSR|S_IWUSR))) { printf("fail to allocate memory!\n"); fprintf(stderr,"fail to allocate memory!"); exit(-1); } if ((seq = (shared_data*)shmat(segment_id, 0, 0)) == (shared_data *)-1) { printf("fail to attach to segment\n"); fprintf(stderr,"fail to attach to segment %d\n",segment_id); exit(-1); } n = atoi(argv[1]); pid = fork(); if (pid < 0) { printf("fail to set a new process!\n"); fprintf(stderr, "Fork failed!"); exit(-1); } else if (pid == 0) { int i, fir, secd, fib; if (n <= MAX_SEQUENCE) { if (n == 1) { seq->fib_sequence[0] = 0; seq->sequence_size = 1; } else if (n == 2) { seq->fib_sequence[0] = 0; seq->fib_sequence[1] = 1; seq->sequence_size = 2; } else { fir = 0; secd = 1; seq->fib_sequence[0] = 0; seq->fib_sequence[1] = 1; seq->sequence_size = n; for (i = 3; i <= n; i++) { fib = fir + secd; fir = secd; secd = fib; seq->fib_sequence[i-1] = fib; } } } else { exit(-1); } } else { wait(NULL); if (n > MAX_SEQUENCE) { printf("overflow!\n"); exit(-1); } else { int i = 0; while (i < n) { printf("%4d", seq->fib_sequence[i++]); } printf("\n%d", seq->sequence_size); exit(0); } } }
查看全文
相关阅读:
JAR 归档文件是与平台无关的文件格式
事件的监听是由awt完成的
AWT和Swing之间的基本区别
Swing AWT一套新的图形界面系统
AWT控件称为重量级控件
java做web项目比较多
Swing文本域的编辑
AWT中文译为抽象窗口工具包
swing包含了各种组件的类
Java中的Swing及AWT又称GUI编程
原文地址:https://www.cnblogs.com/seebro/p/2476558.html
最新文章
源代码不是直接翻译成机器语言
解释性语言每执行一次就要翻译一次,效率比较低
编译性语言不如解释性语言跨平台性好
编译型与解释型,两者各有利弊
解释性语言在运行程序的时候才翻译
编译型语言的程序执行效率高
运行编译型语言是相对于解释型语言存在的
编译器高级研究的理想平台
编译器设计的发展包括
编译器自动构造
热门文章
许多人将高阶程序语言分为两类
编译器进行语法分析
常见的编译分析有函数调用树
编译器可以生成相同的环境下运行的目标代码
编译器把源码编译成通用中间语言
编译器将汇编或高级计算机语言源程序作为输入
JAVA平台在手机上广泛应用
一个 JAR 文件可以用于
JAR 文件格式提供了许多优势和功能
Java的图形用户界面的基本工具
Copyright © 2011-2022 走看看