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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zhouyongming 中级黑马   /  2016-3-17 10:10  /  591 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

进程:是一个正在执行的程序。
                每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫做控制单元。
线程:就是进程中的一个独立的控制单元。
                线程在控制着进程的执行。
一个进程里面有至少一个线程。

Java VM 启动的时候会有一个进程java.exe

多线程举例:比如下载软件。

该进程中至少一个线程负责java程序的执行。
而且这个线程运行的代码存在于main方法中。
该线程称之为主线程。
扩展:其实更细节说明jvm,局面启动不止一个线程。还有负责垃圾回收机制的线程。

多线程可以使多部分代码同时执行。

自定义线程的两种方式:
        1.继承Thread类,复写run()方法。
                1.1.定义类继承Thread类。
                1.2.复写run()方法。
                1.3.调用线程的start()方法。一是:启动线程,二是:调用run()方法。

        2.实现Runnable接口,复写run()方法。
                2.1.定义类实现Runnable接口。
                2.2.覆盖Runnbale接口中的run()方法。
                2.3.通过Thread类建立线程对象。
                2.4.将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
                2.5.调用Thread类的start()方法开启线程,并调用Runnable接口子类的run方法。

为什么要覆盖run方法呢?
        Thread类用于描述线程。
        它就定义了一个功能,用于存储线程要运行的代码。这些代码就存储在run方法里面。

currentThread():获取当前线程对象。
getName():获取线程的名称。
setName():给线程更名。

实现Runnable。必须要new Thread()对象的同时就指定run()方法所属对象。


实现方式和继承方式:

Runnable:避免了单继承的局限性。(最常用)

线程代码存放的位置不一样。
继承Thread:线程代码存放在run()方法中。
实现Runnable:线程代码存放在接口子类的run()方法中。

实现接口Runnable只能try不能抛

7 个回复

倒序浏览
谢谢楼主
回复 使用道具 举报
这个是比较重要的知识点
回复 使用道具 举报
已收藏~
回复 使用道具 举报
感谢普及!
回复 使用道具 举报
学习了。
回复 使用道具 举报
非常棒的总结,谢谢楼主
回复 使用道具 举报
回去好好背
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马