java简单实现多线程及线程池实例详解简单实现多线程及线程池实例详解
主要为大家详细介绍了java简单实现多线程,及java爬虫使用线程池实例,具有一定的参考价值,感兴趣的小伙
伴们可以参考一下
本文为大家分享了java多线程的简单实现及线程池实例,供大家参考,具体内容如下
一、多线程的两种实现方式一、多线程的两种实现方式
1、继承Thread类的多线程
/**
* 继承Thread类的多线程简单实现
*/
public class extThread extends Thread {
public void run(){
for(int i=0;i<100;i++){
System.out.println(getName()+"-"+i);
}
}
public static void main(String arg[]){
for(int i=0;i<100;i++){
System.out.println(Thread.currentThread().getName()+"-"+i);
if(i==50){
new extThread().start();
new extThread().start();
}
}
}
}
2、实现Runnable接口的多线程
/**
* 实现runable接口的多线程实例
*/
public class runThread implements Runnable {
public void run(){
for(int i=0;i<100;i++){
System.out.println(Thread.currentThread().getName()+"-"+i);
}
}
public static void main(String arg[]){
for(int i=0;i<100;i++){
System.out.println(Thread.currentThread().getName()+"-"+i);
if(i==50){
runThread rt = new runThread();
new Thread(rt,"新线程1").start();
new Thread(rt,"新线程2").start();
}
}
}
}
二、线程池的简单实现二、线程池的简单实现
//实现Runnable接口
class TestThread implements Runnable{
public void run() {
for(int i = 0;i < 100;i++){
System.out.println(Thread.currentThread().getName() + "i的值为:" + i);
}
}
}
public class threadPoolTest {
public static void main(String[] args) {
//创建一个具有固定线程数的线程池
ExecutorService pool = Executors.newFixedThreadPool(5);
//向线程池中提交三个线程
pool.submit(new TestThread());
pool.submit(new TestThread());
评论10