描述
1.匿名对象没有对象名,对他的使用是一次性的,使用完马上变成垃圾。
2.正在计算机执行的程序叫做“进程”(process)。线程是进程中某个单一顺序的控制流。
3. 进程可以支持多个线程,互相之间不同步。(CPU只是将时间切割为时间片,然后将时间片分配给这些线程,CPU高速计算能力,给人感觉多各线程同时执行)。
4. 进程中所有线程共享进程的虚拟地址空间。
Java实现多线程的,有2个方法。
1.继承Thread 类(位于java.lang包内)。
2.实现Runnable接口。
Java线程都是通过某个特定Thread对象对应的方法run()来完成其操作的。
-
方法run()称为线程体。
-
使用start()方法启动线程。
线程的优先级与调度
线程的优先级用数字来表示,范围从1到10,一个线程的缺省优先级是5;
Thread.MIN_PRIORITY=1
Thread.MAX_PRIORITY=10
Thread.NORM_PRIORITY=5;
Int getPriority()方法获得线程对象的优先级。
为了避免贡献资源受限,Java中的多线程使用Synchronized关键字实现同步。
实现同步要很大的系统开销作为代价,甚至可能造成死锁。所以尽量避免无谓的同步控制。
Vector是线程安全的,Arraylist是线程不安全的。(可通过查看源码看是否有Synchronized修饰)