看了erlang的一些开源网络框架RabbitMQ、Ranch,他们都使用多个进程同时accept一个socket。这种方式在使得socket端口监听的工作分担了更多的调度机会,但是,在erlang中,socket接受一个新连接后,如果想让另一个进程处理消息,就要显式的调用gen_tcp:controlling_process(Socket, Pid)。所以问题来了,erlang多个进程同时监听一个socket安全吗?文章将会重点讨论这个问题及对这个问题做优化。...
分类:
其他好文 时间:
2014-06-03 03:52:52
阅读次数:
218
1 调度
Windows不是实时操作系统,它是抢占式多线程操作系统。在假设所有优先级相同的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,根据Context中的IP和SP来接着执行上次的东西。Windows永远不会让1个线程去独占一段时间。
2 可调度性
系统只调用可以调度的线程,其实系统的大部分线程都是处于不可调度的状态,要么处于暂停的状...
分类:
编程语言 时间:
2014-06-03 00:16:07
阅读次数:
402
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多...
分类:
编程语言 时间:
2014-06-02 23:11:22
阅读次数:
399
YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResouceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程...
分类:
其他好文 时间:
2014-06-02 22:20:44
阅读次数:
377
1.
进程标识符:每个进程都有一个非负整型表示的唯一进程ID。但进程ID可以重用,当一个进程终止之后,其进程ID就可以再次被重用了。UNIX系统中常常有一些专用的进程:ID为0的进程通常是调度进程,常常被称为交换进程(swapper),该进程是内核的一部分,它并不执行磁盘上的任何程序,因此也被称为系...
分类:
其他好文 时间:
2014-06-02 17:22:12
阅读次数:
321
本章要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿进程定义:
可并发执行的程序,在一个数据集合上的运行过程; 申请/拥有资源的最小单位; 程序定义:静态概念,是指令和数据的集合,可长期存储; 进程与程序对应关系:
一个程序可以对应一个进程或者多个进...
分类:
其他好文 时间:
2014-06-01 12:09:07
阅读次数:
210
今天复习了windows线程的调度,优先级等相关内容。以为将一个进程和它的线程都设为优先级最低,那么该进程将在电脑空闲的时候才会运行。我突然联系到有的程序比方说腾讯QQ或者屏保程序是不是将要调用的线程设为优先级最低,等到电脑空闲或空闲一段时间(具体时间程序当然可以调)才开始调用呢?...
分类:
其他好文 时间:
2014-06-01 10:05:57
阅读次数:
266
造成开销的操作包括:
1. 线程之间的协调(例如:锁、触发信号以及内存同步等)
2. 增加的上下文切换
3. 线程的创建和销毁
4. 线程的调度
一、对性能的思考
1 性能与可伸缩性
运行速度涉及以下两个指标:
某个指定的任务单元需要“多快”才能处理完成、计算资源一定的情况下,能完成“多少”工作。
可伸缩性:
当增加计算资源时(例如:CPU、内存、存储容器或...
分类:
编程语言 时间:
2014-06-01 09:56:52
阅读次数:
271
来自维基百科
堆
堆(英语:heap) 亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。
堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
逻辑定...
分类:
其他好文 时间:
2014-06-01 05:01:13
阅读次数:
279
这里仅仅是做简单的记录怎样实现。一、基于配置文件的实现 ①编写须要调度的类package
com.study;import org.springframework.scheduling.annotation.Scheduled;import
org.springframework.stereot.....
分类:
编程语言 时间:
2014-05-31 20:07:07
阅读次数:
283