一. 线程与进程
进程是指运行中的程序,每个进程都有自己独立的地址空间
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有资源,但是它可与同属一个进程的其他线程共享进程所拥有的全部资源。
线程知识要点:
1. 线程是轻量级进程
2. 线程没有独立的地址空间(内存空间)
3. 线程由进程创建
4. 一个进程可以有多个线程,多线程编程。
5. 线程的5种状态:
a. new
b. Runnable
c. Running
d. Blocked
e. Dead
在java中要将一个类当作线程来运行有两个办法:
1. 该类继承 Thread类,重写run函数,start()
2. 该类继承Runnable接口,重写run函数,start()
使用方法2会比方法1要好,原因如下:
1. java的单继承机制会使得继承Thread类的类存在使用局限。
2. 使用Runnable接口继承能使多个线程共享同一段代码段。如果程序有同步逻辑需求,建议使用Runnable方法创建线程。
java处理同步的机制:synchronized语句
synchronized(this)
{
//code
}
其中的code就是同步代码段。
java同步机制的解释:
synchronized(object){ } 里面的object可以是任意类,synchronized通过更改 任意类型对象里面的标志位(包括0,1两种状态)实现线程加锁。