操作系统学习笔记 - 线程管理 Win32 Fibonacci计算

#include <windows.h>
#include <stdio.h>

DWORD FiboArray[48];

DWORD WINAPI Fibo (LPVOID Param){

    DWORD N = *(DWORD*)Param;

    FiboArray [0] = 0;
    FiboArray [1] = 1;

    for (int i = 2; i < N; i++){
        FiboArray[i] = FiboArray[i - 1] + FiboArray[i - 2];
    }

    return 0;
}

int main (int argc, char *argv[]){
    DWORD ThreadId;
    HANDLE ThreadHandle;
    int param;

    if (argc != 2){

        printf ("Need ONE unsigned integer, 0-47 (inclusive)");
        return -1;
    }

    param = atoi(argv[1]);

    if (param < 0 || param > 47){
        printf ("Need ONE integer, ranging 0 to 47 inclusive.");
        return -1;
    }

    ThreadHandle = CreateThread(
    NULL,
    0,
    Fibo,
    &param,
    0,
    &ThreadId);

    if (ThreadHandle != NULL) {

        WaitForSingleObject(ThreadHandle, INFINITE);

        CloseHandle(ThreadHandle);

        for (int i = 0; i <= param; i++){
            printf ("%d ", FiboArray[i]);
        }
        printf ("\n");
    }
}
时间: 2024-08-02 02:48:35

操作系统学习笔记 - 线程管理 Win32 Fibonacci计算的相关文章

操作系统学习笔记——线程

这篇博客是本人操作系统课的学习笔记,因为是"双语授课",所以有些中英夹杂. 本篇文章禁止转载 版权声明:本文为博主原创文章,未经博主允许不得转载.

操作系统学习笔记---线程

在上一篇文章讲到了进程,进程体现了两个属性资源分配的单位和调度运行的单位,作为资源分配的单位,一个进程有自己的地址空间,其中包括程序.数据.PCB及其他资源,如打开的文件,子进程,未处理的警报,信号,统计信息等.作为调度执行单位,一个进程在执行过程中需要使用一个或多个程序:另外,一个进程的执行过程会与其他进程夹在一起.操作系统根据进程的状态和调度优先级对就绪进程实施调度.由于进程是资源的拥有者,所以它的负载很重,因而在实施进程的创建.删除和切换过程中要付出较大的开销.这样,就限制了系统中进程的数

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许

JVM学习笔记-内存管理

第一章 内存分配 1. 内存区域. 方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离). 1) java虚拟机栈:线程私有.描述的是java方法执行的内存模型:栈帧,用户存储 局部变量表,操作数栈,动态链接,方法出口等信息. 局部变量表在编译时即可完全确定!如果线程请求的栈深度大于 规定的深度,StackOverflowError. 2) 本地方法栈,类似. 3)堆:垃圾收集器管理的主要区域.线程共享. 4)方法区: 各个线程共享.存储:加载的类信息,常量,静态变量,即时

Linux 程序设计学习笔记----进程管理与程序开发(上)

转载请注明出处,http://blog.csdn.net/suool/article/details/38406211,谢谢! Linux进程存储结构和进程结构 可执行文件结构 如下图: 可以看出,此ELF可执行文件存储时(没有调入内存)分为代码区.数据区和未出花数据区三部分. 代码区:存放cpu的执行的机器指令. 数据区:包含程序中的已经初始化的静态变量,以及已经初始化的全局变量. 未初始化数据区:存入的是未初始化的全局变量和未初始化的静态变量. 现在在上面的程序代码中增加一个int的静态变量