首页 > 学院 > 开发设计 > 正文

多线程学习笔记---->如何创建一个线程

2019-11-06 08:40:16
字体:
来源:转载
供稿:网友

一、什么是线程?

  在解释这个概念之前,我们首先要知道,什么是进程?   进程是操作系统结构的基础,是一次程序的运行,是一个程序及数据在处理机上顺序执行时发生的活动,是程序在一个数据集合上运行的过程,它是进行系统资源分配调度的一个独立单位。   那么线程就很好理解了,线程是在进程中独立运行的子任务。

二、如何创建一个线程?

  一、继承Thread类

/** * 验证通过继承一个Thread类来创建一个线程 * @author liu * */class MyThread extends Thread{ @Override public void run() { // TODO Auto-generated method stub super.run(); System.out.PRintln("MyThread"); }}public class Run{ public static void main(String[] args) { MyThread thread = new MyThread(); //线程开启 thread.start(); System.out.println("运行结束!"); }}

  在这个实例中我们通过继承Thread类,重写它的,run()方法,调用Thread类中的start()方法,来创建一个线程。

  二,通过实现Runnable接口来创建线程

/** * 通过实现Runnable接口创建线程 * @author liu * */class ThreadA implements Runnable{ @Override public void run() { System.out.println("MyThread"); }}public class UseRunnableToCreate{ public static void main(String[] args) { ThreadA myThread = new ThreadA(); Thread thread = new Thread(myThread); thread.start(); }}

  在这里,我有了疑问,为什么要提出两种创建线程的方式?这两种方式又有什么不同?我们来看一下Thread这个类的源码。   这里写图片描述

  原来,Thread类实现了Runnable接口,所以说,在原理上并没有什么不同,那么,为什么要这样做呢?   这样做是因为如果你定义的线程类继承了其他类,当你要继承Thread类时会报错,java不允许多继承,所以可以通过实现接口来实现。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表