A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘_鑫 中级黑马   /  2013-6-27 00:43  /  1030 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.什么是线程
  (1)进程:是一个正在执行中的程序。
  每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。
  (2)线程:就是进程中的一个独立的控制单元。
  线程在控制着进程的执行。
2.Java JVM  启动的时候会有一个进程java.exe.
  该进程中至少一个线程负责java程序的执行。
  而且这个线程运行的代码存在于main方法中。
  该线程称之为主线程。
扩展:其实更细节说明jvm,jvm启动不止一个线程,还有负责垃圾回收机制的线程。
3.创建线程的方式
  (1)第一种方式:继承Thread类。
  步骤:
   A.定义类继承Thread。
   B.复写Thread类中的run方法。目的:将自定义代码存储在run方法。让线程运行。   
   C.调用线程的start方法,该方法两个作用:启动线程,调用run方法   
   (2)创建线程的第二种方式:实现Runable接口
  步骤:
   A.定义类实现Runnable接口
   B.覆盖Runnable接口中的run方法。将线程要运行的代码存放在该run方法中。
   C.通过Thread类建立线程对象。
   D.将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
   E.调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。
   (3)实现方式和继承方式有什么区别呢?
   A.实现方式好处:避免了单继承的局限性。
   B.在定义线程时,建立使用实现方式。
   两种方式区别:
    继承Thread:线程代码存放Thread子类run方法中。
    实现Runnable,线程代码存在接口的子类的run方法。
关于线程的同步,一般有以下解决方法:

1. 在需要同步的方法的方法签名中加入synchronized关键字。

2. 使用synchronized块对需要进行同步的代码段进行同步。

3. 使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马