1.由于Thread类位于java.lang包中,因而程序的开头不用import导入任何包就可直接使用
try{
sleep((int)(1000*Math.random()));//sleep()方法必须写在try-catch块内
}catch(InterruptedException e){写sleep()方法容易出现InterruptedException错误
System.out.println(who+"正在运行!");
}
2.Math.random()方法将产生0-1s的随机数
3. Runnable接口更适合多个线程处理
4.由于程序中的MyThread类是有由Runnable接口实现的,所以sleep()方法前面要加Thread
前缀
5.程序中被同时激活的多个线程将同时执行,但有时需要有序的执行,这时可以使用Thread
类中的join方法,当某一个线程调用join()方法时,则其他的线程会等到该线程结束后才开始
执行
6.public void join()方法:暂停当前线程的执行,等待调用该方法的线程结束后再继续执行
本线程
7.join()方法会抛出InterruptedException异常,所以必须把join()方法放在try-catch块内
8.如何获得当前正在运行的线程:
第一种:直接使用继承Thread类的子类,再类中this即只当前进线程
第二种:使用Runnable接口的类,在此类中获得当前线程的引用,必须使用Thread.current
Thread()方法
9.注意: 当可运行对象包含线程对象时,即线程对象是可运行对象的成员时,则在run()方法
中可以调用Thread.currentThread()方法来获得正在运行的线程的引用
第二种可运行对象不包含线程对象时,可运行对象run()方法中需要语句
Thread.currentThread().getName()方法 来返回当前的正在运行线程的名字

总结:今天学习了实现多线程的两种方式,一种是继承Thread类,这个只能继承一个,但编写较简单

两一种是自己定义类实现Runnable接口来实现多线程,在数据的共享方面Runnable接口实现线程对象

较继承Thread子类来说更契合实际,更满足情况

也学习了start()方法线程的启动

run()方法线程的执行

join()方法暂停当前线程

四月二十八号Java基础知识的更多相关文章

  1. 超详细的Java面试题总结(二)之Java基础知识篇

    多线程和Java虚拟机 创建线程有几种不同的方式?你喜欢哪一种?为什么? 继承Thread类 实现Runnable接口 应用程序可以使用Executor框架来创建线程池 实现Callable接口. 我 ...

  2. 二十、Java基础--------IO流之其他对象

    在上面两篇文章中介绍了IO体系并详细介绍了字节流以及字符流,本文主要是讲述操作文件的File.转化流.标准输入与输出.Properties.打印流以及序列流. File File英文为"文件 ...

  3. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  4. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

  5. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  6. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  7. java基础知识文章汇总

    将之前的所有关于Java基础知识的随笔,整理成质量较高的十几篇随笔,几乎是好几篇比较零散的随笔合成现在的一篇,自认为还不错. java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规 ...

  8. Java基础知识陷阱系列

    Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...

  9. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  10. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

随机推荐

  1. sqlite3 一条语句替换全表某个字符字段中的某个字符串

    update not_match_files set policy_id_tms = replace(policy_id_tms, substr(policy_id_tms,instr(policy_ ...

  2. XDZX2022学生博客链接

    王桐林博客        https://www.cnblogs.com/xdzxtong/ 邢沐辰博客 https://www.cnblogs.com/xdzxmuchen/ 袁 博博客 https ...

  3. oracle 白名单作用及配置教程

    出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库. 当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效.只针对 ...

  4. 【Unity】Timeline探索记(4)第二个例子——动作特写/子弹时间

    写在前面 这次例子参考这篇实现博文(附带项目下载),博文前面介绍非常具体,可惜后面特写轨实现代码不是按照我想要的标准四大件(data.mixer.clip.track)来组织的,所以这里我略过介绍,只 ...

  5. 【JIRA】jira issue reindex

    参考文档: https://community.atlassian.com/t5/Marketplace-Apps-Integrations/Scriptrunner-Listener-Reindex ...

  6. 代码片断:GDI绘制带一定角度的椭圆

    //先将DXF文件中的Ellipse 解析到elpList 中 foreach (Ellipse ellipse in elpList) { //定义一个矩形 RectangleF rect = ne ...

  7. AreEngine 求最小面积的外接矩形,非IEnvelope,表达不清楚了

    1,总是会得到一些奇奇怪怪的要求,求一个面对象的外接最小面积的矩形,和ArcToolBox中的Mininum Bounding Geometry功能下的RECTANGLE_BY_AREA想似.具体看下 ...

  8. C#重点语法——特性

    特性的基本理解 ************************************************************************************* 一.含义 特 ...

  9. Unity录音保存wav

    using System; using System.Collections; using System.Collections.Generic; using System.IO; using Sys ...

  10. python通过轮子安装第三方库(以Wordcloud为例)

    1.查看python版本 直接输入如下命令: python 执行结果如下: 我们可以直到,本机的python版本为: AMD64bit 3.11版本python 2.下载合适python版本的轮子 下 ...