在Java实现多线程的程序中,虽然Thread类实现了Runnable接口,但是操作线程的主要方法并不在Runnable接口中,而是在其子类Thread中,比如start()这个方法就只能通过Thread实例化才能使用,用Runnable的话则会出错

正如以下这个程序:

class MyThread implements Runnable

{
private int ticket = 5;
public void run()
{
for(int i=0; i<3; i++)
{
System.out.println(Thread.currentThread().getName() + "...目前=====" +i);
}
}
}
public class Demo923
{
public static void main(String args[])
{
MyThread my1 = new MyThread();
MyThread my2 = new MyThread();
//new Thread(my1).start();
my1.start();
my2.start();
}

}

并且,通过Runnable还可以实现资源共享,所以,实现多线程应该养成使用Runnable的习惯

转载于:https://www.cnblogs.com/tanjianwen/p/5245428.html

多线程Thread和Runnable相关推荐

  1. Java多线程-Thread、Runnable、Executor

    线程分为五个阶段:创建.就绪.运行.阻塞.终止. 创建:新建一个线程对象,如Thread thd=new Thread(). 就绪:创建了线程对象后,调用了线程的start()方法(此时线程只是进入了 ...

  2. JAVA多线程Thread VS Runnable详解

    进程与线程 进程是程序在处理机中的一次运行.一个进程既包括其所要执行的指令,也包括了执行指令所需的系统资源,不同进程所占用的系统资源相对独立.所以进程是重量级的任务,它们之间的通信和转换都需要操作系统 ...

  3. 多线程-Thread、Runnable、Callbale、Future

    Thread:java使用Thread代表线程,所有的线程对象都必须是Thread类或其子类,可以通过继承Thread类来创建并启动多线程. package org.github.lujiango;p ...

  4. Java多线程 - Thread和Runnable的区别

    在这我们就不在讲解Thread和Runnable的用法,如果不会的可以去看上一篇文章:<Java实现多线程的几种方式> Runnable是接口. Thread是一个类,继承了Runnabl ...

  5. java多线程thread使用_Java多线程——thread及runnable的基本使用及交替执行

    /*** Created by LiuHuiChao on 2016/3/11.*/public classActor extendsThread { @Overridepublic voidrun( ...

  6. Java多线程,Thread,Runnable,Callable Task,Future<Task>,CompletionService

    一.Java多线程的方法 1. 继承 Thread 2. 实现 Runnable 3. 实现 Callable 可以有返回值 package com.test;import java.util.Arr ...

  7. 【Java多线程】实现Runnable接口方式 / 继承Thread类方式;使用synchronized锁实现线程安全;线程安全的懒汉式单例模式;死锁问题示例

    Thread 的生命周期 一.实现Runnable接口方式 1.在 run 方法中使用 synchronized 块 /*** 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的 ...

  8. java runnable线程锁_多线程 java 同步 、锁 、 synchronized 、 Thread 、 Runnable

    线程 1 线程概述 1.1 什么是线程 v  线程是程序执行的一条路径, 一个进程中可以包含多条线程 v  一个应用程序可以理解成就是一个进程 v  多线程并发执行可以提高程序的效率, 可以同时完成多 ...

  9. Android开发之多线程编程Thread和Runnable使用

    Android开发之多线程编程Thread和Runnable使用 Android可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:前者只要继承了Thread类同时覆写了 ...

  10. 多线程 -Thread -Runnable -Callable

    多线程(Thread) 线程简介 线程实现 线程状态 线程同步 线程通信问题 高级主题 核心概念 线程就是独立的执行路径; 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc程; ...

最新文章

  1. ecshop入门第一步,替换ecshop模板的显示图片
  2. avformat_find_stream_info 时间太长
  3. 【linux高级程序设计】(第十二章)Linux多线程编程 4
  4. C#-多线程 126
  5. java与c/c++进行socket通信的一些问题(2)
  6. MySQL - 创建存储过程Procedure,Do While实现循环
  7. iOS UI-自动布局(Autoresizing)
  8. 非root用户安装protobuf的python依赖到指定目录
  9. 2022 AAAI 多模态/情感分析/命名实体识别/(信息抽取)关系抽取/知识图谱(知识蒸馏)/阅读理解 论文一览表
  10. magisk下载里显示没有模块_magisk框架
  11. EXP-00091 Exporting questionable statistics问题解决
  12. spotbug常见错误心得
  13. camera-radar fusinon paper 速递
  14. 雷鸣的游戏人生(七) --- 如何谈一场失败的恋爱?
  15. Firebug网络面板里的两条竖线表示什么?
  16. 计算机共享账户密码删除吗,win10系统删除已记住的访问共享的账户与密码的详细技巧...
  17. 使用第三方账号认证(一):钉钉扫码登录
  18. word查找参考文献引用格式
  19. C++定义全局变量的两种方式
  20. 在线CAD图纸批注功能方案比较与实现

热门文章

  1. 基于Docker搭建Gitlab
  2. mysql 5.6 在线DDL
  3. 转载的关于pthread_cond_wait的文章,写的比较详细
  4. java开始到熟悉100-102
  5. 卓有成效的管理者的五个习惯
  6. [独库骑行之我们路过高山]翻越哈希勒根达坂
  7. webpack5学习与实战-(八)-配置打包后的文件名
  8. Linux下安装mysql(yum、二进制包、源码包)
  9. glnxa64 matlab 什么版本_发现了一个MATLAB的小bug
  10. suse 内核编译安装_Linux内核编译与安装