Java多线程浅学习
2014-03-08 14:57
141 查看
一. 线程与进程
进程是指运行中的程序,每个进程都有自己独立的地址空间
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有资源,但是它可与同属一个进程的其他线程共享进程所拥有的全部资源。
线程知识要点:
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两种状态)实现线程加锁。
进程是指运行中的程序,每个进程都有自己独立的地址空间
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有资源,但是它可与同属一个进程的其他线程共享进程所拥有的全部资源。
线程知识要点:
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两种状态)实现线程加锁。
相关文章推荐
- 《Java多线程编程核心技术》学习笔记-第一章
- 近日关于Java多线程的学习
- Java多线程基础学习
- [置顶] java多线程学习之从正常到自残
- 【Java学习笔记】21.Java多线程
- Java多线程学习-Thread.state 有哪些?
- 黑马程序员——自己学习到的一些Java多线程知识
- [置顶] Java多线程学习(六)Lock锁的使用
- 关于Java多线程和并发运行的学习(四)——之Semaphore
- java多线程与并发学习(一)
- Java多线程之线程池的学习
- 关于Java多线程和并发运行的学习(二)
- Java多线程编程--(9)学习Java5.0 并发编程包--线程工具类
- 关于Java多线程和并发运行的学习(五)——阻塞队列
- 精通Java多线程学习(五)用Lock和condition实现生产者与消费者
- java多线程(学习笔记)
- 学习Java多线程之线程定义、状态和属性
- java多线程学习 (四) Thread的interrupt()[中断] {转载}
- java多线程锁的学习总结
- 从零学习JAVA多线程(五):线程池的简单介绍