线程是什么(线程的组成)

80酷酷网    80kuku.com

今天要学习的新知识有许多,加上其他的事情也需要处理,所以今天更新的时间比往常要晚一些。

文章目录

1.线程简介

2.创建线程的方式

3.代码举例

1.线程简介

今天来说一说线程,这部分知识随着研究的深入比较难理解,但是初期还是比较简单的,说起线程要先从程序和进程说起,首先程序可以理解为是一组静态的代码,而进程是正在运行中的程序,即静态的代码运行起来了,操作系统会以进程为单位,分配系统资源(即CPU的时间碎片)供进程中的线程使用,进程是资源分配的最小单位,最后组成进程的是线程,线程是正在执行程序中的小单元,允许许多线程同时执行,即多线程,那么来说说多线程的优势:1.发挥多处理器的强大能力;2.在单处理器系统上获得更高的吞吐率;3.建模的简单性;4异步事件的简化处理;线程是操作系统级别,我们无法控制线程的执行,只能对线程进行创建,睡眠,唤醒等操作(就目前对线程的理解)

2.线程的创建方式

方法一:继承(extend Thread)

(1) 自己描述一个类

(2)继承父类Thread

(3)重写run方法

(4)创建一个测试类,然后new线程对象,调用start()方法使线程进入就绪状态;

方法二:实现(implements Runnable):

(1)自己描述一个类

(2)实现Runnable接口

(3)重写run方法

(4)创建一个测试类,new线程对象,这里在调用start()方法前需要用Thread类包起来

(5)new一个Thread类,将线程对象放入Thread类中

(6)这样在调用start()方法使线程进入就绪状态;

两种创建方法各有其特殊的用处,如果我们没有特殊要求,我们把方法一玩明白就可以啦

3.代码举例

哈哈哈,因为方法二比方法一要复杂一些,所以这里使用方法二作为代码演示案例

思路:

线程可以理解为,许多小人按照一套规则(run方法)做事,为了区分,我们定义了一个小人儿(线程对象)姓名属性,以区分小人儿(线程对象),使用含参构造方法为小人儿(线程对象)取名,然后所有小人儿(线程对象)按照规则(run方法)去执行,小人儿创建好,并写好规则后,我们需要使用start()方法使线程进入准备状态,当我们手动点击运行时,就是跑的过程,预备备!!跑!!

public class Running implements Runnable{  //我们自己写一个Running类,然后实现Runnable接口  //这样我们我们写的类就是线程类了    private String name; //小人的姓名    public Running(){}    public Running(String name){        this.name = name;    }  //使用含参构造方法为小人取名    public void run(){        for(int i=1;i

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: