ICode9

精准搜索请尝试: 精确搜索
  • 进程和线程2019-12-26 23:56:17

      1.概念和区别 概念 从本质上说,一个进程就是一个正在执行的程序,它是系统进行资源分配和调度的基本单元,是操作系统结构的基础。每个进程都有自己的地址空间,包括可执行程序,程序的数据,栈,一组寄存器(程序计算器,栈指针以及其他运行程序需要的信息) 线程有时被称为轻量级进程,是程序执行

  • 多线程(四)多线程同步_Critical Section临界区2019-12-20 15:04:02

    临界区是指一个小代码段,在代码能够执行前,它必须独占对某些共享资源的访问权。和使用mutex一样,它们都是以原子操作方式来对共享资源进行访问。 临界区又叫关键代码段,与上一篇的mutex互斥体实现的功能一样,都是为了让多线程同步 从上面图片可以看到二者的区别,如果是在当前进程进行线

  • 进程间的mutex2019-12-02 23:05:17

    设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。 一个进程进入了临界区,另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进程进入

  • 0day2安全——笔记4(修改临界变量)2019-11-19 23:07:11

    第二章 修改临界变量   #include <stdio.h> #include <string.h> #define PASSWORD "1234567" int verify_password(char *password){ int flag; char buffer[8]; flag = strcmp(password,PASSWORD);//flag需要为1才能溢出 strcpy(buffer,password);//

  • java synchronized 探究2019-11-18 13:01:28

      java synchronized关键字是并发编程最常用的工具,也是最重要的工具之一。今天来探究下其含义 写两个类,两段不同的临界区代码进行测试。   有以下4种测试方案,每种方案对应4种不同的锁类型:对象锁: synchronized(this),本类锁: synchronized(Me.class),父类锁: synchronized(Parent.

  • Linux 线程间的同步与互斥2019-11-12 15:52:37

          在线程并发执行的时候,我们需要保证临界资源的安全访问,防止线程争抢资源,造成数据二义性。              线程同步: 条件变量       为什么使用条件变量?       对临界资源的时序可控性,条件满足会通知其他等待操作临界资源的线程,类似信号

  • OS2 进程的描述与控制2019-10-13 19:02:55

    OS-1 进程的描述与控制 【进程的定义】: 进程(process)是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。它是系统进行资源分配和调度的基本单位。 【进程的特性】: 动态性:进程具有动态的地址空间,地址中间的大小和内容都是动态变化的。 并发性:指多个进程实体同存

  • 操作系统相关2019-09-25 18:52:22

    一、进程间通信与线程间通信 进程间通信 1、管道。管道是一种半双工的通信方式,数据只能单向流动,而且只能在有血缘关系的进程间使用,进程的血缘关系通常是指父子进程关系。 2、命名管道。也是半双工的通信方式,但是它允许无亲缘关系关系进程间通信。 3、信号。是一种比较复杂的通信方

  • 线性分叉分析(线性屈曲)2019-09-09 16:04:47

    原文链接:http://www.101315.com/news/html/?2086.html 有时你只想快速粗略地估计模型的屈曲能力。线性分叉分析(在许多软件包中也称为“屈曲”)正是这样做的!在分析求解器中给出最小乘数(有时表示为α,或称为特征值)这样,当您用该乘数乘以所施加的载荷时

  • 1 走进并行世界2019-08-28 09:57:10

    需要知道的几个概念 同步(Synchronous)和异步(Asynchronous) 同步方法调用一旦开始,调用者必须等到方法调用返回后,才继续执行后续行为。 异步方法一旦开始,方法调用会立即返回,调用者就可以继续执行后续行为。而异步方法通常会在另外一个线程“真实”地执行,当这个异步调用真实完成时,则会

  • 我是如何学习写一个操作系统(五):故事的高潮之进程和线程12019-08-27 12:01:46

    前言 为什么取这个标题呢?一是进程和线程是作为操作系统里最重要最核心的一部分。二是确实吃冰棍拉冰棍,没话,强行凑标题和之前的标题差不多字数。 前一章写了系统调用的过程,算是一个小插曲,这个部分不管在哪里应该都是可以的。 现在的这个系列已经和之前的标题渐行渐远了,原本是想以之

  • 线程同步 -事件Event、临界区对象CriticalSection2019-08-07 21:03:01

    事件Event:基本函数:全局对象:HANDLE g_hEvent创建事件对象:g_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL)重置状态为无信号:ResetEvent(g_hEvent)设置状态为有信号:SetEvent(g_hEvent)说明:有信号转为无信号状态人为重置不可以控,最好设为自动完成,可以避免多个线程请求到对象;只有一个实

  • Windows临界区的用法2019-08-03 12:00:40

    一、Windows临界区的基本用法 CRITICAL_SECTION my_winsc;              //定义一个Windows的临界区,相当于一个mutex变量 InitializeCriticalSection(&my_winsc);        //初始化 EnterCriticalSection(&my_winsc);            //进入临界区,相当于lock() LeaveCr

  • MFC线程同步-临界区2019-07-27 13:54:36

    转自:http://my.oschina.net/myspaceNUAA/blog/81244     临界区概述:   用于多线程的互斥访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入临界区后,其他试图访问的线程将被挂起,直到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到对临界区的

  • 进程互斥的要求与实现方法2019-07-19 11:35:26

    临界资源:进程独占型的硬件和共享的数据结构和文件。临界区:使用临界资源的程序段。 要求:      空闲让进,忙则等待,有限等待,让权等待。 实现方法: 软件 :通过全局变量来控制程序执行,但是程序在检测标志变量后,修改标志变量前发生中断,然会有多个进程进入临界区。 硬件: 关闭总中断

  • 随笔记-临界区2019-07-17 10:37:34

    1 如何使用临界区 当该临界区对象被某个线程占用时,另一个线程想要访问该对象,线程就会进入休眠状态,直到临界区对象被释放,才会唤醒该线程。 因为唤醒线程需要时间,所以现在为了避免性能降低。在另一个线程访问对象且该对象已被占用的时候,设置一个循环访问次数,在这个次数内不断

  • 简单分析synchronized不会锁泄漏的原因2019-06-05 22:40:53

    最近看到一句话:内部锁synchronized不会造成锁泄漏(Lock Leak)。 锁泄漏是指一个线程获得某个锁以后,由于程序的错误、缺陷致使该锁一直没法被释放而导致其他线程一直无法获得该锁的现象。(摘自《Java多线程编程实战指南(核心篇)》--黄文海) 很好奇JVM是怎么保证的。 我想,Java代码,最终无

  • 操作系统(哈工大视频教程)第16讲到第20讲2019-06-01 14:52:10

    第十六讲 进程同步与信号量 多进程的合作:多进程之间应该具有合适的约束,来共同推进任务的前进;多个进程的相互合作表现为每个进程有自己的一套执行方案,有自己的一套执行的程序,但并不是说程序可以任意执行,有时候需要停下来进行等待,而另外的一些进程在执行的过程中会给其发出一

  • 线程同步与互斥锁2019-05-31 18:51:49

    相比多进程模型,多线程模型最大的优势在于数据共享非常方便,同一进程内的多个线程可以使用相同的地址值访问同一块内存数据。但是,当多个线程对同一块内存数据执行“读−处理−更新”操作时,会由于线程的交叉执行而造成数据的错误。 例如以下代码段,当 thread_func() 同时在多个

  • 操作系统2019-05-30 23:03:17

    操作系统 目录 一、操作系统概述 二、处理器管理 三、存储管理 四、设备管理 五、文件系统 六、并发程序设计 一、操作系统概述 1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址

  • 临界区2019-05-19 20:42:16

    临界区2019年5月19日18:46  多个线程在同时调用函数时可能会产生问题,可能会产生问题的这部分代码称之为临界区(Critical Section)。根据临界区是否会产生问题,函数可分为:线程安全函数(Threa-safe function)非线程安全函数(Thread-unsafe function)  线程安全函数被多个线程同时调用也

  • 并发编程学习笔记(2)----使用多线程带来的风险2019-05-15 12:48:39

      说到多线程带来的风险,首先要了解一个概念-临界区。   什么是临界区?   临界区是用来表示一种公共的资源(共享数据),它可以被多个线程使用,但是在每次只能有一个线程能够使用它,当临界区资源正在被一个线程使用时,其他的线程就只能等待当前线程执行完之后才能使用该临界区资源。  

  • (转)c++多线程同步使用的对象2019-05-10 13:43:09

    c++多线程同步使用的对象   线程的同步 Critical section(临界区)用来实现“排他性占有”。适用范围是单一进程的各线程之间。它是: ·         一个局部性对象,不是一个核心对象。 ·         快速而有效率。 ·         不能够同时有一个以上的critica

  • 进出互斥与同步2019-04-26 13:47:42

    1.解释并发与并行,并说明两者关系。    并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。   并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同

  • 进程互斥与同步2019-04-25 22:54:54

    1:解释并发与并行,并说明两者关系。 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。 2:进程间有哪几种关系?分别要采用什么策略? 进程之间存

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有