java语言

java多线程介绍

时间:2022-10-08 06:30:17 java语言 我要投稿
  • 相关推荐

java多线程介绍

  多线程的基本实现

  进程指运行中的程序,每个进程都会分配一个内存空间,一个进程中存在多个线程,启动一个JAVA虚拟机,就是打开个一个进程,一个进程有多个线程,当多个线程同时进行,就叫并发。

  Java创建线程的两种方式为: 继承Thread类 和实现Runnable接口

  Thread类

  1、通过覆盖run方法实现线程要执行的程序代码

  2、Start()开始执行多线程

  package com.bin.duoxiancheng;

  public class d1 extends Thread{

  public void run(){

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

  System.out.println(i);

  System.out.println(currentThread()。getName());

  try {

  sleep(100);

  } catch (InterruptedException e) {

  // TODO Auto-generatedcatch block

  e.printStackTrace();

  }

  }

  }

  public static void main(String[] args){

  new d1()。start();

  new d1()。start();

  }

  }

  多个线程共享一个实例的时候,代码代码如下:

  package com.bin.duoxiancheng;

  public class d1 extends Thread{

  int i=0;

  public void run(){

  for(i=0 ; i<50; i++){

  System.out.println(i);

  System.out.println(currentThread()。getName());

  try {

  sleep(100);

  } catch (InterruptedException e) {

  // TODO Auto-generatedcatch block

  e.printStackTrace();

  }

  }

  }

  public static void main(String[] args){

  new d1()。start();

  new d1()。start();

  }

  }

  结果如下所示:

  Thread-1

  Thread-0

  1

  Thread-1

  1

  实际2个线程在操纵不同的变量a,在执行run方法时候,线程把a都当做自己的变量在执行。

  Runnable接口实现多线程

  当一个继承自Thread时,就不能再继承其他类,使用Runnable接口解决了此问题,在新建一个Thread类中,在构造方法中初始化

  Thread(Runnable target)

  分配新的 Thread 对象。

  Thread(Runnable target,String name)

  分配新的 Thread 对象。

  package com.bin.duoxiancheng;

  public class D2 implements Runnable{

  int i=0;

  public void run(){

  for(i=0 ; i<50; i++){

  System.out.println(i);

  System.out.println(Thread.currentThread()。getName());

  try {

  Thread.sleep(100);

  } catch (InterruptedException e) {

  // TODO Auto-generatedcatch block

  e.printStackTrace();

  }

  }

  }

  public static void main(String[] args){

  D2 d=new D2();

  Thread t=new Thread(d);

  t.start();

  }

  }

【java多线程介绍】相关文章:

java面试自我介绍(通用10篇)10-19

什么是Java10-28

java类的构成04-28

java线程的几种状态12-14

Java语言的内部类12-13

Java基础知识精选02-20

Java语言的编程特点03-18

新手如何学习Java07-06

如何学习JAVA开发04-26

JAVAEE与JAVA有何区别04-15