美文网首页
java 多线程

java 多线程

作者: jasonLoving | 来源:发表于2018-08-06 15:16 被阅读0次

           java 项目中默认会开启2个线程,第一主线程,第二个就是垃圾回收线程。多线程实际上就是cpu 不断切换线程,感觉上是同时进行的。

开起多线程的方法一:

写个类继承Thread 重写run 方法在run方法中执行线程代码,在主线程中创建类对象执行start 方法。注意是执行start 方法,start方法做了2件事情第一件事就是开启线程,第二件事情就是在线程中执行重写run 方法的代码。

public class Demo1 {

public static void main(String[] args) {

// TODO 自动生成的方法存根

      a A = new a();

      A.start();

      for (int i = 0; i < 10000; i++) {

System.out.println("i");

}

}

}

class a extends Thread{

@Override

public void run() {

for (int i = 0; i < 10000; i++) {

System.out.println("run");

}

}

}

方法二:

实现写一个类runnable 接口重新run 方法。创建此类对象A,然后用对象A作为参数创建Thread对象B,再对象B调用start 方法开启线程。

public class Demo1 {

public static void main(String[] args) {

A a = new A();

Thread thread = new Thread(a);

thread.start();

      for (int i = 0; i < 10000; i++) {

System.out.println("i");

}

}

}

class A implements  Runnable {

@Override

public void run() {

for (int i = 0; i < 10000; i++) {

System.out.println("run");

}

}

}

方法三 匿名内部类 创建thread对象里面重写run方法直接调用start方法。

public class Demo1 {

public static void main(String[] args) {

      new Thread() {

      public void run() {

      for (int i = 0; i < 10000; i++) {

    System.out.println("run");

    }

      };

      }.start();

      for (int i = 0; i < 10000; i++) {

System.out.println("i");

}

}

}

方法四 匿名内部类 创建thread对象A里面参数传一个接口runnable对象B,对象B里面重写run方法

对象A调用start方法。

public class Demo1 {

public static void main(String[] args) {

      new Thread(new Runnable() {

@Override

public void run() {

      for (int i = 0; i < 10000; i++) {

System.out.println("run");

}

}

}

  ).start();

      for (int i = 0; i < 10000; i++) {

System.out.println("i");

}

}

}

相关文章

  • 带你搞懂Java多线程(五)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三)带你搞懂Java多线程(四) ...

  • 带你搞懂Java多线程(六)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三)带你搞懂Java多线程(四)带...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • java多线程--Callable

    **移步[java多线程系列文章]Java多线程(二十二)---LockSupport工具Java 停止线程 一、...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • 5月份第一周学习安排

    学习内容: java多线程及线程同步的方法(使用) java多线程各种同步方法的原理和优缺点 java多线程设计模...

  • 带你搞懂Java多线程(四)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三) 什么是线程间的协作 线程之间...

  • Java基础(六)

    多线程 Java多线程并发 1.1 JAVA 并发知识库 1.2 JAVA 线程实现/创建方式 1.2.1 继承 ...

  • (五) volatile关键字

    Java多线程目录 1 背景 理解Java多线程的内存抽象逻辑请阅读java多线程内存模型,当代操作系统,处理器为...

  • Java多线程高级特性(JDK8)

    [TOC] 一、Java多线程 1.Java多线程基础知识 Java 给多线程编程提供了内置的支持。一条线程指的是...

网友评论

      本文标题:java 多线程

      本文链接:https://www.haomeiwen.com/subject/njuwvftx.html