首页 > 编程语言 > 详细

我所知的线程

时间:2018-05-02 18:38:31      阅读:213      评论:0      收藏:0      [点我收藏+]

一、原理

进程:一个运行中的应用程序,一个运行的程序在内存中占用的一片区域,也可叫做一个任务;
线程:线程是进程中的一个执行单元,负责调度程序的执行;

一个进程至少需要一个线程,也可能有多个线程,多线程任务,多线程”同时“执行,叫做并行;

多线程是否提高了效率?答:否,而且如果线程开启太多,反倒会降低效率;
但是,为了提高用户体验度,并且因为现在内存越来越大,cpu处理能力越来越强,所以在合理的范围内,多开一定的线程是没关系的;

二、线程的实现方式(两种方式)
1、继承Thread对象
a.继承Thread对象
b.Thread对象中有一个run方法 重写run()方法->run方法中写的代码叫 线程任务
c.创建继承了Thread类的子类的线程对象
d.调用线程对象的start()方法,启动线程,并且java虚拟机调用该线程的run()方法


2、实现Runnable接口
a.实现Runnable接口
b.实现run()方法->线程任务放入到run方法中
c.创建实现了Runnable接口实现类的对象
d.创建线程类,并将实现了Runnable接口实现类的对象,通过线程类的构造方法注入进来
e.调用线程对象的start()方法。启动线程,调用注入对象的run方法,从而在一个新开启
的线程中,执行实现类对象的线程任务

为什么实际开发中使用实现Runnable接口的方式?
(1)继承Thread类,具备单一继承的局限性
(2)继承Thread类,线程对象和线程任务绑定一起了,不利于解耦

run方法和start方法的区别
1.run方法不启动线程,start方法启动线程,并自动调用run方法

我所知的线程

原文:https://www.cnblogs.com/sunyi2010/p/8981591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!