1、进程与线程的区别
进程是程序的一次动态执行过程。
线程就是把进程分成更小的单元进行。
2、Java实现多线程有两种方法。一是继承Thread类,另一种是实现Runnable接口。
Thread类是在java.lang包中定义的,一个类只要继承了Thread类,此类就称为多线程实现类。在Thread子类中,
必须明确地覆写Thread类中的run()方法,此方法为线程的主体。
调...
分类:
编程语言 时间:
2014-07-22 23:01:34
阅读次数:
315
详解本文前,先来说说什么是操作系统吧,要不,大家可能都不知道自己在看些什么。下图,可以非常形象的表示操作系统及它的相关内容。本文主要详细介绍一下操作系统的进程管理功能。
上图可以看出,操作系统是位于计算机硬件和应用软件之间的,有效组织和管理系统中各种软、硬件资源。它通过资源管理,提高了计算机系统的效率;也改善了人机界面,不需要我们直接面对简单且复杂的0和1了,向用户提供了友好的工作环境...
分类:
其他好文 时间:
2014-07-22 23:01:33
阅读次数:
376
sersync(873端口)实时同步(单向同步)需要注意:纯粹的使用rsync做单向同步时,rsynx的守护进程是运行在文件推送服务器上,而接收的服务器是运行rsync客户端。使用sersync做文件实时同步刚好相反,用于接收文件的服务器运行rsync守护进程。sersync主要用于服务器同步,web镜像等..
分类:
其他好文 时间:
2014-05-03 01:58:08
阅读次数:
849
在《Zygote进程【3】——SystemServer的诞生》一文中介绍了SystemServer的诞生,本文来看一下SystemServer中初始化的系统服务。
AccountManagerServiceAccessibilityManagerService
ActivityManagerService
AlarmManagerService
AppWidgetService...
分类:
移动开发 时间:
2014-05-03 00:16:21
阅读次数:
404
设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一个时刻只有几十个或几百个TCP连接时活跃的(接收到TCP包),也就是说,在每一时刻,进程值需要处理这100万连接中的一小部分连接。那么,如何才能高效地处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万个连接告诉操作系统,然后由操作系统找出其中有事件发生的几百个连接呢?实际上,在Linux内核2.4版...
分类:
其他好文 时间:
2014-05-02 23:11:18
阅读次数:
311
一个很简单的例子,就把线程和进程的关系搞清楚了。...
分类:
编程语言 时间:
2014-05-02 22:23:44
阅读次数:
392
从Linux2.5开始Linux实现了0(1)调度算法, 算法的思想要点在于设定动态的nice值确定优先级, 在优先级数组调度(数组最大长度是固定常数) 简而言之,不管系统中有多少进程需要调度都可以在o(1)的时间复杂度内完成调度,是不是很吊啊?但是实践证明(我没证明,文献说的) o(1)对i/o交互型的调度体验上表现很差 轮转周期很不灵活,主要原因在于调度出发点采用粒度很大时间片进行轮换,诚然整体负载会比较好,但是对于i/o交互型的,我们理想的调度策略是采用处理器使用比而不是时间片来分配, ...
分类:
系统相关 时间:
2014-05-02 21:18:41
阅读次数:
460
驱动程序的同步处理
Windows是个多任务的操作系统,每个任务对应一个运行的进程。每个运行的进程中可以包含多个线程。如果没有同步机制的控制,所有的线程会任意运行。然而,多个线程可能会要求操作同一个资源,这时就需要同步处理。
1、基本概念
1.1、问题的引出
在支持多线程的操作系统下,有些函数会出现不可重入现象。所谓“可重入”,是指函数的执行结果和执行顺序无关。反之,如果执行结果和执行顺序...
分类:
其他好文 时间:
2014-05-02 18:25:22
阅读次数:
530
操作系统基本分页存储管理方式
连续分配内存方式会形成许多“碎片”,通过紧凑的方式将碎片拼接成一块大的空间,但是拼接过程系统开销太大。如果允许将一个进程直接分散地装入到许多不相邻的分区中,那么就不需要再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。
在分页管理方式中,如果不具备页面对换功能(...
分类:
其他好文 时间:
2014-05-02 02:19:11
阅读次数:
314