Java中多线程的实现
什么叫多线程?
Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为线程。
线程和进程的异同点在哪里?
相同点:他们一样拥有独立的执行控制,由操作系统负责调度。
不同点:线程没有独立的系统资源,同一进程中的所有线程共享进程的系统资源,如存储空间、磁盘文件、打印机等。
由于各个线程的控制流彼此独立,使得各个线程之间的代码是可以按照任何合理的顺序执行,由此带来线程调度和同步等问题。
如何实现线程类?
可以有两种方法:继承Thread类和实现Runnable接口。
由于在Java中不允许一个类继承自多个类,所以实现Runnable接口是常见的方法。
例如:
public class test extends Socket
implements Runnable {
test() {
// ...
}
public void run() {
// ...
}
}
线程间的通信
Java中的线程通信主要有两种方法:管道通信和标识符通信。
管道通信依赖两个类:PipedInputStream和PipedOutputStream。
线程的同步
相关文档:
1 引言
Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存 ......
java中synchronized用法(zz)
打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 ......
java IO详解
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。
Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStrea ......
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
假设要排序的数组是A[1]&hellip ......
为了保证示例程序的运行,必须安装Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站点是: http://jakarta.apache.org/poi/
示例1将演示如何利用Jakarta POI API 创建Excel 文档。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import
org.apache.poi.hssf.usermodel.HSSFSheet;
impo ......