多线程创建方式

1、继承Thread类创建多线程:继承java.lang.Thread类,重写Thread类的run()方法,在run()方法中实现运行在线程上的代码,调用start()方法开启线程。

2、实现Runable接口:实现java.lang.Runnable接口,重写run()方法,在run()方法中实现运行在线程上的代码。

3、两种多线程方式比较:这两种显示的创建线程的方式,我们在实际编程中都不用,要用线程池进行统一的资源管理。

(1)Runable方法将线程同程序代码、数据有效的分离,代码相对整洁。

(2)避免java单继承的局限性。一个已经继承了某一个类的子类去创建线程,由于java子类不能继承两个父类,因此不能用Thread的方式,要使用实现Runnable接口的方式。

原文地址:https://www.cnblogs.com/guoyu1/p/12179244.html

时间: 2024-11-02 15:32:13

多线程创建方式的相关文章

多线程创建方式及线程安全问题

1.创建线程方式 一:  创建线程方式一继承Thread类 public clsss MyThread extends Thread{ //重写run方法,设置线程任务 Run(){ } } main(){ new MyThread().start(); } 获取线程名称: Thread.currentThread()获取当前线程对象 Thread.currentThread().getName();获取当前线程对象的名称 二:创建线程方式-实现Runnable接口 创建线程的步骤. 1.定义类

JAVA-初步认识-第十二章-多线程创建方式一继承

一. 既然是创建线程,那么线程应该怎么创建?在没有学习java之前,这些程序是谁在操作执行的呢?是由我们所在的操作系统来完成的.Windows里面有个任务管理器,它来管理这些任务,它来创建这些进程,并来创建进程中所用的线程.是由系统来完成的,我们无法直接使用系统来帮我们做这件事情.解决问题的时候,首先想到的是java中是否有给我们提供能解决该问题的对象,尤其是线程还走了系统.你不玩java,它没有多线程,因为windows具备这能力,它在帮你做这个分配呢.我们是做不了的,我们就想说java是否也

Java之多线程创建方式

多线程的由来 我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决. 多线程的好处: 提高程序运行效率,让CPU的 使用率更高. 多个线程之间互不影响 关于多线程的一些名词解释 并发:指两个或多个事件在同一个时间段内发生. 并行:指两个或多个事件在同一时刻发生(同时发生). 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程:进程也是

两种多线程创建方式区别

实现Runnable接口相对于继承Thread类来说,有如下显著的好处: (1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想. (2)可以避免由于Java的单继承特性带来的局限.我们经常碰到这样一种情况,即当我们要将已经继承了某一个类的子类放入多线程中,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么,这个类就只能采用实现Runnable接口的方式了. (3)有利于程序的健壮性,代码能够被多

JAVA学习第二十三课(多线程(二))- (多线程的创建方式二 :实现Runnable接口(常用))

当一个类有父亲,但是其中的功能还希望实现线程,那么就不能采用继承Thread的方式创建线程 那么就可以通过接口的方式完成 准备扩展Demo类的功能,让其中的内容可以作为线程的任务执行 实现Runnable接口,Runnable接口中只有一个方法run 一.创建线程的第二种方法 Runnable的出现仅仅是将线程的任务进行了对象的封装 /* * 创建线程的第二种方法 * 1.定义类实现Runnable接口 * 2.覆盖接口中的fun方法,将线程的任务代码封装到run方法中 * 3.通过Thread

Java中多线程的学习和使用(一)概述及创建方式

转载请注明http://www.cnblogs.com/devtrees/p/4395477.html 多线程的学习 一.多线程概述 (一).进程与线程 在说多线程或者线程之前,让我们来了解一下更显而易见的进程概念.那什么是进程呢? 进程就是正在进行中的程序. Windows操作系统中在任务栏处右击,弹出的菜单中可看见任务管理器,打开它,就可以看见当前运行的程序和进程列表. 进程:是一个正在执行中的程序. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程:就是进程

iOS多线程的几种创建方式

1.NSThread 2.NSOperationQueue 3.GCD NSThread: 创建方式主要有两种: [NSThread detachNewThreadSelector:@selector(myThreadMainMethod:) toTarget:self withObject:nil]; 和 NSThread *myThread = [[NSThread alloc] initWithTarget:self selector:@selector(myThreadMainMetho

java中多线程的两种创建方式

一丶继承Thread类实现多线程 第一步:继承Thread类第二步:重写run()方法第三步:创建继承了Thread类的对象 , 调用start()方法启动. //线程创建方式一 : /* 第一步:继承Thread类 第二步:重写run()方法 第三步:创建继承了Thread类的对象 , 调用start()方法启动. */ public class TestThread extends Thread{ @Override public void run() { for (int i = 0; i

多线程的创建方式---继承Thread和实现Runnable

继承Thread类创建多线程 1 package cn.ftf.thread; 2 /** 3 * 多线程实现方式一 继承Thread实现多线程,继承Thread,重写run方法 4 * @author 房廷飞 5 * 6 */ 7 public class StartThread extends Thread{ //对象继承Thread 8 public static void main(String[] args) { 9 StartThread st=new StartThread();