java语言 百文网手机站

java多线程介绍

时间:2020-12-06 19:05: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多线程介绍11-22

java多线程教程11-21

浅谈如何使用java多线程12-06

Java多线程的开发技巧09-27

Java多线程的基本使用09-26

40个Java多线程问题总结11-27

Java多线程的定义状态和属性11-29

java多线程同步块实例讲解素材11-24

Java多线程面试题及回答10-01