wait函数 当进程正常或异常终止时,内核就向其父进程发送SICHLD信号。父进程可以选择忽略该信号(系统默认该动作),或者提供一个该信号发生时即被调用执行的信号处理程序。 调用wait或waitpid的进程时: ·如果其素有子进程都还在运行,则阻塞。 ·如果一个子进程已终止,正等待父进程获...
分类:
其他好文 时间:
2014-09-11 15:03:42
阅读次数:
225
模型一:阻塞模型---进程效率低;CPU利用低模型二:非阻塞模型---进程效率高;但是CPU利用率低;模型三:复用I/O模型---CPU利用率提高思想:对于任何一个套接字描述符发生事件时才由系统去唤醒进程,从而不需要因轮询而占用CPU;对于I/O复用典型的应用如下:(1)当客户处理多个描述字时(一般...
分类:
系统相关 时间:
2014-09-11 11:06:31
阅读次数:
287
阻塞
非竞争的同步可以完全在JVM中处理,竞争的同步则可能需要操作系统的介入,从而增加开销。当在锁上发生竞争时,竞争失败的线程肯定会阻塞。JVM在实现阻塞行为时,可以采用自旋等待,就是通过循环不断的尝试获取锁。直到成功。或者通过操作系统挂起被阻塞的线程。这两种方式的效率高低取决于上下文切换的开销以及在成功获取锁之前需要等待的时间。如果等待时间较短,采用自旋等待的方式,如果时间较长,则采用操作系统...
分类:
编程语言 时间:
2014-09-10 22:30:41
阅读次数:
230
通过2个小按钮绑定的监听事件,实现了线程阻塞的功能,也让我对自己使用手机时的困惑有了更深的理解,同时,也引起了我对手机操作系统优化的兴趣,我们身为软件工程师,那么我们的职责是什么呢?不是为了设计出只有自己用得惯的系统,一切的目的就是适合普遍用户使用,不断地简化操作,提升用户体验度,只有这...
分类:
移动开发 时间:
2014-09-10 22:22:41
阅读次数:
331
基于Verilog语言的分频器设计,实现了占空比为50%的任意整数分频,以及对占空比没有特殊要求的半分频(n+0.5),可综合,能跑700M左右的时钟
分类:
其他好文 时间:
2014-09-10 20:53:01
阅读次数:
313
RequireJS由James Burke创建,他也是AMD规范的创始人。RequireJS会让你以不同于往常的方式去写JavaScript。你将不再使用script标签在HTML中引入JS文件,以及不用通过script标签顺序去管理依赖关系。当然也不会有阻塞(blocking)的情况发生。好,以一...
分类:
Web程序 时间:
2014-09-10 19:28:00
阅读次数:
326
在同步阻塞的网络编程中,代码都是按照TCP操作顺序编写的,即创建连接、多次读写、关闭连接,这样很容易判断这一系列操作是否是同一个连接。而在事件驱动的异步网络编程框架中,IO操作都会触发一个事件调用相应的事件函数,例如接收到客户端的新数据,会调用messageReceived(MINA)、channelRead(Netty)、dataReceived(Twisted),同一个TCP连接的多次请求和多个客户端请求都是一样的。
那么如何判断多次请求到底是不是同一个TCP连接,如何保存连接相关的信息?针对这个问题,...
分类:
Web程序 时间:
2014-09-10 14:13:00
阅读次数:
208
思路主线程负责发送消息,另一线程负责接收消息。服务端和客户端均是如此。注意当A方close掉用于通信的socket端口后,该端口是不会立即关闭的。因为此时可能B方的信息还没send完。因此,此时A方的recv仍旧处于阻塞状态,会最后再等待收一次信息。此时,当B方send一个信息给A后,A方recv到...
分类:
其他好文 时间:
2014-09-10 12:20:40
阅读次数:
219
线程停止的方法: 记住一点,线程的停止, 1.自己运行完了, 2.如果是无限循环,在外部,只能用flag标记来操作。 但是当线程处于冻结状态(阻塞),sleep,wait,join,(这三个方法抛出异常。) 就不会读取到flag. 这个时候,我们要清除线程的冻结状态,让它回到运..
分类:
编程语言 时间:
2014-09-10 03:00:00
阅读次数:
219
这是一个来自《java编程思想上的示例》[java] view plaincopypackagedemo.thread;/***sleep()是静态方法,是属于类的,作用是让当前线程阻塞*join()是使线程同步,如在某个线程里调用t.join()表示t线程执行完再执行当前线程*interrupt(...
分类:
编程语言 时间:
2014-09-09 17:48:29
阅读次数:
172