单线程:安全性高,效率低
多线程:安全性低,效率高
一、
多线程的第一种实现方式:创建一个继承Thread的类,实现run()方法,然后在另一个类中创建该类的对象,通过对象去调用多线程中的方法。
代码如下:

1.创建继承Thread的类

package test1;public class MyThread extends Thread{public void run() {for (int i = 0; i < 100; i++) {System.out.println(getName()+":"+i); //得到线程名字}}
}

2.创建对象实现多线程

package test1;public class MyThreadDemo {public static void main(String[] args) {MyThread mt  = new MyThread();mt.setName("范冰冰");  //修改线程名字mt.start();MyThread mt2  = new MyThread();mt2.setName("胡歌");mt2.start();}
}

二、
多线程的第二种实现方法:创建一个类实现Runnable接口,也是实现run()方法,后面的步骤相同,因为eclipse里面是单一继承的,通过实现接口可以让该类可以继承其他的类。

代码如下:
1.实现接口和方法

package test2;public class MyThread2 implements Runnable{public void run() {for (int i = 0; i < 100; i++) {
//          Thread tr = Thread.currentThread();
//          System.out.println(tr.getName()+":"+i);     //因为实现接口之后没有getName()方法,所以通过类去调用方法System.out.println(Thread.currentThread().getName()+":"+i);}}}

2.开启线程

package test2;public class MyThreadDemo2 {public static void main(String[] args) {MyThread2 mt = new MyThread2();Thread td = new Thread(mt);td.setName("张三");td.start();Thread td2 = new Thread(mt);td2.setName("李四");td2.start();}
}

多线程的两种实现方法相关推荐

  1. 多线程有几种实现方法?同步有几种实现方法?

    多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所 ...

  2. 多线程有几种实现方法,同步有几种实现方法

    多线程有几种实现方法,同步有几种实现方法 多线程有两种实现方法:继承 Thread 类或者实现 Runnable 接口. 一.继承 Thread 类 //1.作为Thread的子类,并重写run方法. ...

  3. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么

    java中多线程的实现方法有两种: 1. 直接继承thread类; 2.实现runnable接口;同百步的实现方法有五种: 1.同步方法; 2.同步代码块; 3.使用特殊域变量(volatile)实现 ...

  4. 面试题——多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

    多线程有两种实现方法,一是继承Thread类,重写方法run(),二是实现Runnable接口,实现方法run(): 同步有两种实现方法,分别是synchronized.wait与notify.

  5. 多线程有几种实现方法都是什么?

    多线程有两种实现方法,如下所示: 一:继承Thread类,重写方法run(): 二:实现Runnable接口,实现方法run():

  6. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  7. 【Java_多线程并发编程】基础篇—线程状态及实现多线程的两种方式

    1.Java多线程的概念 同一时间段内,位于同一处理器上多个已开启但未执行完毕的线程叫做多线程.他们通过轮寻获得CPU处理时间,从而在宏观上构成一种同时在执行的假象,实质上在任意时刻只有一个线程获得C ...

  8. 启动多线程的两种情况比较

    启动多线程有两种方式:(都是在主线程main线程下) 1. 使用同一个线程对象来启多个线程 2. 使用多个线程对象来启多个线程 这两种方式有什么区别呢?先贴上代码举例说明: 这是使用线程对象MyRun ...

  9. 在.NET中执行Async/Await的两种错误方法

    微信公众号:架构师高级俱乐部 关注可了解更多的编程,架构知识.问题或建议,请公众号留言; 如果你觉得此文对你有帮助,欢迎转发 在.NET中执行异步/等待的两种错误方法 在应用开发中,我们为了提高应用程 ...

最新文章

  1. mybatis3进行模糊查询的总结
  2. 理解JavaScript面向对象的思路
  3. SAP Spartacus layoutSlots ID 和 CMSComponent 的映射关系
  4. SAP CRM扩展字段的渲染和属性处理原理
  5. centos安装docker显示 No package docker-ce available
  6. 信安教程第二版-第24章工控安全需求分析与安全保护工程
  7. pytorch根据特征图训练LSTM Stacked AutoEncoder
  8. bootstrap学习笔记(1)基础段落,表格的实现
  9. matlab图像中提取不连续的点_MATLAB边缘检测GUI设计
  10. SQL SERVER2017 安装程序无法与下载服务器联系。无法安装机器学习服务的问题解决方式...
  11. spring 中事物的说明
  12. 【MD5加密算法能被破解么?】
  13. iVMS-4200 Vs区别_菲尔·杰克逊揭示了迈克尔·乔丹和科比·布莱恩特之间的关键区别...
  14. dropbox无法访问后国内网盘对比选择
  15. 消毒机器人市场前景分析
  16. 计算机微课ppt,全国“xx杯”计算机类说课大赛课件一等奖作品:制作“旅游专线”PPT微课课件.pptx...
  17. 教子要过计算机考试吗,[教子有方]高考家长最容易陷入的十大志愿填报误区
  18. 校招(春招实习 + 秋招)总结感想
  19. Win10中找不到gpedit.msc
  20. java-php-python-ssm原创网络文学管理系统计算机毕业设计

热门文章

  1. RabbitMQ--扩展--11--均衡负载
  2. C++行为型模式-实现观察者模式
  3. 如何使用 JavaScript 构建计算器应用程序
  4. android有道翻译代码,Android使用有道翻译API实如今线翻译功能(示例代码)
  5. 汉明码的原理、生成和检验
  6. 数据库连接池 ( 五 ) Druid 数据监控
  7. Windows桌面实现之八(DirectX HOOK 方式截取特殊的全屏程序之二)
  8. oracle数据库分页查询
  9. 图像特征之SURF特征匹配
  10. 运放脉冲宽度放大_下一代Ka波段雷达系统应用脉冲行波管放大器(twta),工作频率为34至36GHz,峰值功率为1000瓦,占空比为10%。...