java语言

java多线程

时间:2024-08-31 12:25:11 java语言 我要投稿

java多线程

  JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程,以下是小编为大家搜索整理的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();

  }

  }

  结果如下所示:

  0

  Thread-1

  0

  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的多线程12-04

java语言的多线程11-25

Java多线程的开发技巧12-01

关于Java多线程介绍04-02

Java多线程问题总结11-27

高级Java多线程面试题及回答11-30

java多线程同步块实例讲解素材04-02

举例讲解Java中的多线程范文欣赏04-03

JAVA多线程之线程间的通信方式解析04-02