Java基础学习——简介Java多线程
2014-09-28 08:37
288 查看
创建多线程
1、
继承Thread类
子类覆盖父类中的run方法,将线程运行的代码存放在run中。
建立子类对象的同时线程也被创建。
通过调用start方法开启线程。
2、
实现Runnable接口
子类覆盖接口中的run方法。
通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Thread类的构造函数。
Thread类对象调用start方法开启线程。
线程安全问题
导致安全问题的出现的原因:
多个线程访问出现延迟。
线程随机性。
注:线程安全问题在理想状态下,不容易出现,但一旦出现对软件的影响是非常大的。
同步(synchronized)
格式:
synchronized(对象)
{
需要同步的代码;
}
同步可以解决安全问题的根本原因就在那个对象上。
该对象如同锁的功能。
同步的特点
同步的前提:
同步需要两个或者两个以上的线程。
多个线程使用的是同一个锁。
未满足这两个条件,不能称其为同步。
同步的弊端:
当线程相当多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。
同步的函数
格式:
在函数上加上synchronized修饰符即可。
停止线程
定义循环结束标记
因为线程运行代码一般都是循环,只要控制了循环即可。
使用interrupt(中断)方法。
该方法是结束线程的冻结状态,使线程回到运行状态中来。
注:stop方法已经过时不再使用
------- android培训、java培训、IOS培训、.Net培训期待与您交流!
----------
1、
继承Thread类
子类覆盖父类中的run方法,将线程运行的代码存放在run中。
建立子类对象的同时线程也被创建。
通过调用start方法开启线程。
2、
实现Runnable接口
子类覆盖接口中的run方法。
通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Thread类的构造函数。
Thread类对象调用start方法开启线程。
线程安全问题
导致安全问题的出现的原因:
多个线程访问出现延迟。
线程随机性。
注:线程安全问题在理想状态下,不容易出现,但一旦出现对软件的影响是非常大的。
同步(synchronized)
格式:
synchronized(对象)
{
需要同步的代码;
}
同步可以解决安全问题的根本原因就在那个对象上。
该对象如同锁的功能。
同步的特点
同步的前提:
同步需要两个或者两个以上的线程。
多个线程使用的是同一个锁。
未满足这两个条件,不能称其为同步。
同步的弊端:
当线程相当多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。
同步的函数
格式:
在函数上加上synchronized修饰符即可。
停止线程
定义循环结束标记
因为线程运行代码一般都是循环,只要控制了循环即可。
使用interrupt(中断)方法。
该方法是结束线程的冻结状态,使线程回到运行状态中来。
注:stop方法已经过时不再使用
------- android培训、java培训、IOS培训、.Net培训期待与您交流!
----------
相关文章推荐
- 黑马程序员_java基础加强10_多线程加强_工具类简介
- Java基础学习6_多线程(线程间通信--生产者消费者)
- 黑马程序员_java基础_多线程学习笔记
- java基础知识回顾之java Thread类学习(五)--java多线程安全问题(锁)同步的前提
- 黑马程序员——Java零基础学习——初步涉及多线程
- Java多线程编程--(8)学习Java5.0 并发编程包--线程池、Callable & Future 简介
- 黑马程序员---Java基础学习笔记(多线程-后篇)
- 黑马程序员—10—java基础:有关多线程安全的学习笔记和学习心得体会
- JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
- java基础知识回顾之java Thread类学习(四)--java多线程安全问题(锁)
- Java基础学习4_多线程(同步)
- java基础学习笔记_多线程
- java基础学习__多线程(停止线程,守护线程,join方法)
- 黑马程序员-----Java基础学习多线程
- C\C++ 程序员从零开始学习Android - 个人学习笔记(十) - java基础 - 多线程(待续)
- Java基础学习5_多线程(线程间通信--等待唤醒机制)
- 我的安卓学习之路--Java多线程--线程简介
- Java菜鸟学习笔记--多线程篇(一):多线程简介
- 黑马程序员--java多线程和单例模式--java学习日记3(基础知识)
- 黑马程序员—Java基础学习笔记之多线程