自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Andy的博客

Life is fantastic~

  • 博客(12)
  • 资源 (3)
  • 问答 (15)
  • 收藏
  • 关注

原创 信号量和管程

希望阅读本文后的你,可以更好的理解OS中的信号量和管程。如果你有任何疑惑,欢迎指出,因为很有可能是我的理解错误或者笔误。文章目录0. 相关概念回顾1. 信号量(semaphore)0. 相关概念回顾在OS引入多线程后,程序的多任务并发功能得到了良好的支持,但同时也带来了问题,那就是多线程并发会导致一些共享的资源产生竞争问题(例如对共享数据区的数据进行操作),而在计算机中,操作这种共享资源的代...

2019-06-22 17:57:00 824 1

原创 POJ-3903-最长上升子序列

题目就不多说了,链接–> POJ-3903-最长上升子序列解法一这个题目用动态规划来做是没问题的,大家一般都会想到这种解法:DP[i]:表示下标从0到i的序列的最长上升子序列长度DP[i]:表示下标从0到i的序列的最长上升子序列长度DP[i]:表示下标从0到i的序列的最长上升子序列长度然后动态转移方程如下:记第i位前的所有位置为j(到时候要遍历的),如果sequence[i]&...

2019-06-18 21:12:56 776

原创 CPU调度

文章目录CPU调度基本概念调度算法评估准则调度算法1. 先来先服务算法(First Come First Service,FCFS)2. 短进程优先算法(Shortes Process Next,SPN)3. 最高响应比优先(Highest Response Ratio Next,HRRN)CPU调度基本概念进程切换进程切换即CPU资源在当前占用者之间的切换,也就是保存当前进程在PCB中...

2019-06-17 11:59:34 730

原创 Python 获取多线程返回值的两种方式

1. 通过复写Thread类,自定义一个get_result()方法from threading import Thread# _sum = 0def cal_sum(begin, end): # global _sum _sum = 0 for i in range(begin, end + 1): _sum += i return ...

2019-06-16 18:14:41 37577 5

转载 Python线程相关

目录一、threading 模块:对线程的处理二、Thread组件2-1 开启线程的方式一(函数)2-2 开启线程的方式二 (类)2-3 Thread 相关内置子方法 2-4 主进程等待新建线程实例2-5 线程共用创造进程内资源2-7...

2019-06-16 17:54:37 157

原创 select()实现I/O复用并发服务器

用select()模块,基于Python实现了一个简单的echo程序。服务端程序:import socketimport selectserv_socket = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)serv_socket.bind(("127.0.0.1", 4567))serv_socket.li...

2019-06-16 15:28:18 507

原创 OS进程控制

进程切换(上下文切换)所谓进程切换,或者说上下文切换指的是,暂停当前运行的进程,从运行态变为其他状态,然后OS调度另一个进程从就绪态变成运行态的过程。如此的进程切换,就需要保存一些进程的上下文,保存进程的生命周期信息(寄存器如PC,SP等等、CPU状态、地址空间)之前提到过,OS为每个进程维护一个PCB,而这也是标志进程存在的标识,此外,OS会为每个处于相同状态的PCB放置在同一个队列中,...

2019-06-15 16:49:25 616

原创 OS进程管理及进程状态转化

OS进程管理进程:指一个具有一定独立功能的程序在一个数据集合上的一次动态执行的过程。简单来说,进程就是正在内存中运行的程序。需要注意的是,不同进程之间的地址空间是相互独立的。进程控制块(Process Control Block,PCB)PCB是OS来描述进程基本情况及变化的一个数据结构,每个进程都在OS中对应有一个PCB,是进程存在的唯一标志。PCB中主要包含以下信息:调度和状...

2019-06-15 12:38:31 1337

原创 OS之页面置换算法

之前几篇博客记录了OS内存管理的一些知识和技术,接下来将继续深入,介绍一些页面置换算法,这里包括一些我们大家都略有耳闻的算法。置换算法当出现缺页故障时,需要从外存调入新的页面到内存中去,而如果此时内存已满,于是就要按照一定策略置换一些物理页帧出来,这就是置换算法的目的。而置换算法的目标就是尽量减少页面的调入调出次数页面置换算法主要可分为两大类:局部页面置换算法置换页面的选择范围仅限于...

2019-06-08 17:34:22 3538

转载 (转)fork之后子进程到底复制了父进程什么?

来自:https://blog.csdn.net/xy010902100449/article/details/44851453#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h> void main(){ char str[6]="hello"; ...

2019-06-07 22:18:33 625

原创 POJ-3984-迷宫最短路径

>>POJ-3984–传送门<<最短路径,BFS搜索就OK,主要是怎么输出,一时半会还没想到,因为总是想着怎么记录每一步的下一步,这是一个思维误区。其实可以反过来考虑,从终点出发一直找前驱结点,然后反向输出,当然了,这样用个栈就可以了。坑点1输出每个点的时候,逗号和第二个数字之间要加个空格,比如,应该输出(0, 1)而不是(0,1),于是我第一遍提交的时候说我pre...

2019-06-07 21:12:52 288

原创 OS虚拟内存管理

说在前面的话:如果你对OS的一些基本概念在当初学习的时候都了然于胸,只是目前有点淡忘,你可以直接阅读本文;如果你对虚存管理不是很理解,请看我之前写的文章,涉及到了一些基本概念OS内存管理OS的中断、异常、系统调用虚存管理计算机内存越来越大,但是软件的内存开销也是随之增加的,计算机系统总是会出现内存不够的问题,于是出现了以下几种办法来解决内存空间不够的问题:覆盖(overlay)应用...

2019-06-05 22:07:08 415

Andrew Ng 机器学习课件

Andrew Ng 机器学习课件,方便不能上外网的网友参考使用

2018-03-31

Andrew Ng 机器学习源码

Andrew Ng 机器学习源码,一共8次,自己写的,如果有错误,欢迎私信联系

2018-03-31

c++实现二叉树的基本功能

基本功能包括二叉树的建立,释放,前序、中序、后序遍历(递归和非递归版本),求树的深度,树的高度...

2017-11-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除