C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。对于锁来说有个隐藏的开销:它们慢得难以忍受。使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。
分类:
编程语言 时间:
2014-07-29 20:38:02
阅读次数:
203
1,Servlet是使用Java实现的CGI程序,但是与传统CGI不同的是,Servlet采用多线程的方式进行处理,所以程序的性能更高。
2,要想实现一个Servlet则一定要继承HttpServlet类,并根据需要覆写相应的方法,还需要在web.xml文件中配置Servlet后才可以使用。
3,Servlet生命周期控制的3个方法,即init(),service(),(doG...
分类:
其他好文 时间:
2014-07-29 18:07:22
阅读次数:
190
在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的,因为如果回调是多线程的话你是无法和主函数同步的,也就是返回的数据是错误的,这是非常隐秘的一个错误。那有什么好的方法去实现数据的线性传递呢?先介绍下回调机制原理。
回调函数
回调函数就是一个...
分类:
移动开发 时间:
2014-07-29 17:44:12
阅读次数:
233
学习了这么久的java,我打算在这个暑假期间进行javase的总结,加深自己对java基础的理解总结的重点有以下几个部分:1.Socket网络编程2.I/O文本操作3.多线程4.java集合框架5.异常处理6.java类的继承封装和派生并且在总结这些基础知识的过程中还将写出三个javase中小型项目,加深..
分类:
编程语言 时间:
2014-07-29 15:28:49
阅读次数:
235
nginx是以多进程的方式来工作的,当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式。nginx采用多进程的方式有诸多好处。 (1)nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控 worker进程的运行状态,当worker...
分类:
其他好文 时间:
2014-07-29 15:00:48
阅读次数:
149
??
Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
关于ArrayList和Vector区别如下:
ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。Vector提...
分类:
其他好文 时间:
2014-07-29 14:33:48
阅读次数:
175
死锁的总结
死锁的定义:
死锁一般是指两个(或两个以上)线程同时竞争两个(或者多个)资源,从而产生同时等待的现象,使得系统僵持不动。
顺便复习一下线程与进程的定义以及他们之间的区别。
进程:一个有独立功能的程序利用某些数据资源的一次远行过程。
线程:一个进程里面的一条执行路径(或者执行过程),同一条进程下的n多条线程之间可以互相通信(共享数据)。
区别:...
分类:
其他好文 时间:
2014-07-29 14:30:28
阅读次数:
314
线程的简单学习笔记:1、进程与线程的概念进程:从用户角度看进程是应用程序的一个执行过程。从操作系统核心角度看进程代表的是操作系统分配的内存和CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。线程:是程序执行流的最小单位(处理器调度的最小单位)线程是一个程序中一个单一的顺序控制流程。线程...
分类:
编程语言 时间:
2014-07-29 14:12:08
阅读次数:
211
【为什么要用多线程?】传统的图形用户界面应用程序都仅仅有一个运行线程,而且一次仅仅运行一个操作。假设用户从用户界面中调用一个比較耗时的操作,当该操作正在运行时,用户界面一般会冻结而不再响应。这个问题能够用事件处理和多线程来解决。【Linux有线程的概念吗?】传统的UNIX系统也支持线程的概念,但一个...
分类:
编程语言 时间:
2014-07-29 14:07:38
阅读次数:
262