一丶继承Thread类实现多线程

第一步:继承Thread类
第二步:重写run()方法
第三步:创建继承了Thread类的对象 , 调用start()方法启动。
//线程创建方式一 :
/*
第一步:继承Thread类
第二步:重写run()方法
第三步:创建继承了Thread类的对象 , 调用start()方法启动。
*/
public class TestThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 3000; i++) {
System.out.println("爱你三千遍");
}
} public static void main(String[] args) {
TestThread testThread = new TestThread();
testThread.start();
} }

二丶实现Runnable接口创建多线程

第一步:实现runnable接口
第二步:冲写run方法
第三步:创建实现类对象,创建代理类thread类对象 +start()方法启动线程
public class Thread_Study implements Runnable{
/*
* 第一步:实现runnable接口
* 第二步:冲写run方法
* 第三步:创建实现类对象,创建代理类thread类对象 +start()方法启动线程
*
* */ @Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("看书");
}
} public static void main(String[] args) {
Thread_Study ts = new Thread_Study();
new Thread(ts).start();
for (int i = 0; i < 100; i++) {
System.out.println("敲代码");
} } }

运行结果:

敲代码
敲代码
敲代码
敲代码
敲代码
敲代码
敲代码
敲代码
看书
看书
看书
看书
看书
看书
看书

结论:

我们可以观察到敲代码和看书同时进行每个线程之间是不相互干涉的,各自执行各自的,这和调用方法不同,调用方法是等到上一个步骤执行完成才可以在执行下一个步骤.

 
 

java中多线程的两种创建方式的更多相关文章

  1. Java中String对象两种赋值方式的区别

    本文修改于:https://www.zhihu.com/question/29884421/answer/113785601 前言:在java中,String有两种赋值方式,第一种是通过“字面量”赋值 ...

  2. 细说java中Map的两种迭代方式

    曾经对java中迭代方式总是迷迷糊糊的,今天总算弄懂了.特意的总结了一下.基本是算是理解透彻了. 1.再说Map之前先说下Iterator: Iterator主要用于遍历(即迭代訪问)Collecti ...

  3. Android中Fragment的两种创建方式

    fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认 ...

  4. Java中容器的两种初始化方式比较

    List,Set,Map的两种初始化赋值方式  List List<Integer> list2 = new ArrayList<Integer>(); for (int i= ...

  5. java多线程的两种创建方式

    方式一:继承Thread类 1.创建一个继承于Thread类的子类 2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中 3.创建Thread类的子类的对象 4. ...

  6. String变量的两种创建方式

    在java中,有两种创建String类型变量的方式: String str01="abc";//第一种方式 String str02=new String("abc&qu ...

  7. 阿里巴巴--java多线程的两种实现方式,以及二者的区别

    阿里巴巴面试的时候,昨天问了我java面试的时候实现java多线程的两种方式,以及二者的区别当时只回答了实现线程的两种方式,但是没有回答上二者的区别: java实现多线程有两种方式: 1.继承Thre ...

  8. JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解

    在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...

  9. 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类

    转自: http://blog.csdn.net/sunguangran/article/details/6069317 非常感谢原作者,整理的这么详细. 在java中可有两种方式实现多线程,一种是继 ...

随机推荐

  1. hdu 4707 Pet(DFS &amp;&amp; 邻接表)

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. 释放SQL Server占用的内存 .Net 读取xml UrlReWriter 在web.config中简单的配置

    释放SQL Server占用的内存   由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存.所以很多 ...

  3. Intel Naming Strategy--2

    http://en.wikipedia.org/wiki/Intel_Corporation#Naming_strategy Naming strategy[edit] In 2006, Intel ...

  4. ECMAScript 实现继承的几种方式

    1. 原形链 function Father() {   this.fatherName = "licus"; } function Children() { this.chidr ...

  5. all rows from client_id can grow infinitely compared to a single node when hashing by client_id

    all rows from client_id can grow infinitely compared to a single node when hashing by client_id Re: ...

  6. 谈谈Paxos一致性算法和一致性这个名词

    转自:http://www.cnblogs.com/esingchan/p/3917718.html 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的& ...

  7. 关于animate的一些属性

    animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 " ...

  8. POJ1860 Currency Exchange —— spfa求正环

    题目链接:http://poj.org/problem?id=1860 Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Tota ...

  9. Maze 解题报告

    Maze Description   You are given a special Maze described as an n*m matrix, please find the shortest ...

  10. Oracle备份与恢复:冷备份恢复

    模拟数据库数据文件丢失的情况下,通过丢失之前的数据文件物理备份做恢复: 说明:数据文件丢失前一刻的所有归档日志都存在. 环境:oracle10g +rhel5 1.关闭数据库,copy system0 ...