您的位置:首页 > 编程语言 > Java开发

Java多线程编程小结+java中创建线程的的几种方式

2015-04-18 19:59 621 查看
Java多线程编程总结

java中创建线程的的几种方式

1,继承自Thread类,代码逻辑写在子线程中,需要重写run()方法,主线程里start()就可以了

package com.myjava.thread;

public class ExtendsThread extends Thread{

private final static int THREAD_NUM = 5;

public static void main(String[] args){

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

new ExtendsThread("thread"+i).start();

}

}

public ExtendsThread(String name){

super(name);

}

@Override

public void run() {

// TODO Auto-generated method stub

for (int i = 0; i < this.THREAD_NUM; i++) {

System.out.println(this.getName()+i);

}

}

}

运行结果:

thread00 //每个线程都执行run方法一次

thread01

thread02

thread03

thread04

thread20

thread21

thread22

thread23

thread24

thread40

thread41

thread42

thread43

thread44

thread10

thread11

thread12

thread13

thread14

thread30

thread31

thread32

thread33

thread34

2,实现Runnable接口

package com.myjava.thread;

public class ImplRunnable implements Runnable {

private static final int THREAD_NUM = 5;

@Override

public void run() {

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

System.out.println(Thread.currentThread().getName()+i);

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

for (int j = 0; j < THREAD_NUM; j++) {

ImplRunnable implRunnable= new ImplRunnable();

new Thread(implRunnable,"thread"+j).start();

}

}

}

运行结果

thread10

thread11

thread12

thread13

thread14

thread30

thread31

thread32

thread33

thread34

thread00

thread01

thread02

thread03

thread04

thread20

thread21

thread22

thread23

thread24

thread40

thread41

thread42

thread43

thread44

3,通过线程池

package com.myjava.thread;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class ThreadPool {

private static int POOL_NUM = 10;

public static void main(String[] agrs){

ExecutorService executorService = Executors.newFixedThreadPool(5);

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

RunnableThread thread = new RunnableThread();

executorService.execute(thread);

}

}

}

class RunnableThread implements Runnable{

private int THREAD_NUM = 10;

public void run() {

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

System.out.println("线程"+Thread.currentThread()+i);

}

}

}

-----

线程Thread[pool-1-thread-2,5,main]0

线程Thread[pool-1-thread-2,5,main]1

线程Thread[pool-1-thread-2,5,main]2

线程Thread[pool-1-thread-2,5,main]3

线程Thread[pool-1-thread-2,5,main]4

线程Thread[pool-1-thread-2,5,main]5

线程Thread[pool-1-thread-2,5,main]6

线程Thread[pool-1-thread-2,5,main]7

线程Thread[pool-1-thread-2,5,main]8

线程Thread[pool-1-thread-2,5,main]9

线程Thread[pool-1-thread-4,5,main]0

线程Thread[pool-1-thread-4,5,main]1

线程Thread[pool-1-thread-4,5,main]2

线程Thread[pool-1-thread-4,5,main]3

线程Thread[pool-1-thread-4,5,main]4

线程Thread[pool-1-thread-4,5,main]5

线程Thread[pool-1-thread-4,5,main]6

线程Thread[pool-1-thread-4,5,main]7

线程Thread[pool-1-thread-4,5,main]8

线程Thread[pool-1-thread-4,5,main]9

线程Thread[pool-1-thread-4,5,main]0

线程Thread[pool-1-thread-4,5,main]1

线程Thread[pool-1-thread-4,5,main]2

线程Thread[pool-1-thread-4,5,main]3

线程Thread[pool-1-thread-4,5,main]4

线程Thread[pool-1-thread-4,5,main]5

线程Thread[pool-1-thread-4,5,main]6

线程Thread[pool-1-thread-4,5,main]7

线程Thread[pool-1-thread-4,5,main]8

线程Thread[pool-1-thread-4,5,main]9

线程Thread[pool-1-thread-1,5,main]0

线程Thread[pool-1-thread-1,5,main]1

线程Thread[pool-1-thread-1,5,main]2

线程Thread[pool-1-thread-1,5,main]3

线程Thread[pool-1-thread-1,5,main]4

线程Thread[pool-1-thread-1,5,main]5

线程Thread[pool-1-thread-1,5,main]6

线程Thread[pool-1-thread-1,5,main]7

线程Thread[pool-1-thread-1,5,main]8

线程Thread[pool-1-thread-1,5,main]9

线程Thread[pool-1-thread-5,5,main]0

线程Thread[pool-1-thread-5,5,main]1

线程Thread[pool-1-thread-5,5,main]2

线程Thread[pool-1-thread-5,5,main]3

线程Thread[pool-1-thread-5,5,main]4

线程Thread[pool-1-thread-5,5,main]5

线程Thread[pool-1-thread-5,5,main]6

线程Thread[pool-1-thread-5,5,main]7

线程Thread[pool-1-thread-5,5,main]8

线程Thread[pool-1-thread-5,5,main]9

线程Thread[pool-1-thread-3,5,main]0

线程Thread[pool-1-thread-3,5,main]1

线程Thread[pool-1-thread-3,5,main]2

线程Thread[pool-1-thread-3,5,main]3

线程Thread[pool-1-thread-3,5,main]4

线程Thread[pool-1-thread-3,5,main]5

线程Thread[pool-1-thread-3,5,main]6

线程Thread[pool-1-thread-3,5,main]7

线程Thread[pool-1-thread-3,5,main]8

线程Thread[pool-1-thread-3,5,main]9

线程Thread[pool-1-thread-2,5,main]0

线程Thread[pool-1-thread-2,5,main]1

线程Thread[pool-1-thread-2,5,main]2

线程Thread[pool-1-thread-2,5,main]3

线程Thread[pool-1-thread-2,5,main]4

线程Thread[pool-1-thread-2,5,main]5

线程Thread[pool-1-thread-2,5,main]6

线程Thread[pool-1-thread-2,5,main]7

线程Thread[pool-1-thread-2,5,main]8

线程Thread[pool-1-thread-2,5,main]9

线程Thread[pool-1-thread-2,5,main]0

线程Thread[pool-1-thread-2,5,main]1

线程Thread[pool-1-thread-2,5,main]2

线程Thread[pool-1-thread-2,5,main]3

线程Thread[pool-1-thread-2,5,main]4

线程Thread[pool-1-thread-2,5,main]5

线程Thread[pool-1-thread-2,5,main]6

线程Thread[pool-1-thread-2,5,main]7

线程Thread[pool-1-thread-2,5,main]8

线程Thread[pool-1-thread-2,5,main]9

线程Thread[pool-1-thread-2,5,main]0

线程Thread[pool-1-thread-2,5,main]1

线程Thread[pool-1-thread-2,5,main]2

线程Thread[pool-1-thread-2,5,main]3

线程Thread[pool-1-thread-2,5,main]4

线程Thread[pool-1-thread-2,5,main]5

线程Thread[pool-1-thread-2,5,main]6

线程Thread[pool-1-thread-2,5,main]7

线程Thread[pool-1-thread-2,5,main]8

线程Thread[pool-1-thread-2,5,main]9

线程Thread[pool-1-thread-2,5,main]0

线程Thread[pool-1-thread-2,5,main]1

线程Thread[pool-1-thread-2,5,main]2

线程Thread[pool-1-thread-2,5,main]3

线程Thread[pool-1-thread-2,5,main]4

线程Thread[pool-1-thread-2,5,main]5

线程Thread[pool-1-thread-2,5,main]6

线程Thread[pool-1-thread-2,5,main]7

线程Thread[pool-1-thread-2,5,main]8

线程Thread[pool-1-thread-2,5,main]9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐