当前位置: 移动技术网 > IT编程>开发语言>Java > Think_in_java_4th(并发学习二)

Think_in_java_4th(并发学习二)

2018年10月27日  | 移动技术网IT编程  | 我要评论

使用executor

java.util.concurrent

cachedthreadpool

package concurrency.executorservice;

//: concurrency/cachedthreadpool.java
import java.util.concurrent.*;

import concurrency.liftoff.liftoff;

public class cachedthreadpool {
    public static void main(string[] args) {
        executorservice exec = executors.newcachedthreadpool();
        for (int i = 0; i < 5; i++)
            exec.execute(new liftoff());
        exec.shutdown();
    }
} /*
   * output: (sample) #0(9), #0(8), #1(9), #2(9), #3(9), #4(9), #0(7), #1(8),
   * #2(8), #3(8), #4(8), #0(6), #1(7), #2(7), #3(7), #4(7), #0(5), #1(6), #2(6),
   * #3(6), #4(6), #0(4), #1(5), #2(5), #3(5), #4(5), #0(3), #1(4), #2(4), #3(4),
   * #4(4), #0(2), #1(3), #2(3), #3(3), #4(3), #0(1), #1(2), #2(2), #3(2), #4(2),
   * #0(liftoff!), #1(1), #2(1), #3(1), #4(1), #1(liftoff!), #2(liftoff!),
   * #3(liftoff!), #4(liftoff!),
   */// :~

fixedthreadpool

package concurrency.executorservice;

//: concurrency/fixedthreadpool.java
import java.util.concurrent.*;

import concurrency.liftoff.liftoff;

public class fixedthreadpool {
    public static void main(string[] args) {
        // constructor argument is number of threads:
        executorservice exec = executors.newfixedthreadpool(5);
        for (int i = 0; i < 5; i++)
            exec.execute(new liftoff());
        exec.shutdown();
    }
} /*
   * output: (sample) #0(9), #0(8), #1(9), #2(9), #3(9), #4(9), #0(7), #1(8),
   * #2(8), #3(8), #4(8), #0(6), #1(7), #2(7), #3(7), #4(7), #0(5), #1(6), #2(6),
   * #3(6), #4(6), #0(4), #1(5), #2(5), #3(5), #4(5), #0(3), #1(4), #2(4), #3(4),
   * #4(4), #0(2), #1(3), #2(3), #3(3), #4(3), #0(1), #1(2), #2(2), #3(2), #4(2),
   * #0(liftoff!), #1(1), #2(1), #3(1), #4(1), #1(liftoff!), #2(liftoff!),
   * #3(liftoff!), #4(liftoff!),
   */// :~

singlethreadexecutor

package concurrency.executorservice;

//: concurrency/singlethreadexecutor.java
import java.util.concurrent.*;

import concurrency.liftoff.liftoff;

public class singlethreadexecutor {
    public static void main(string[] args) {
        executorservice exec = executors.newsinglethreadexecutor();
        for (int i = 0; i < 5; i++)
            exec.execute(new liftoff());
        exec.shutdown();
    }
} /*
   * output: #0(9), #0(8), #0(7), #0(6), #0(5), #0(4), #0(3), #0(2), #0(1),
   * #0(liftoff!), #1(9), #1(8), #1(7), #1(6), #1(5), #1(4), #1(3), #1(2), #1(1),
   * #1(liftoff!), #2(9), #2(8), #2(7), #2(6), #2(5), #2(4), #2(3), #2(2), #2(1),
   * #2(liftoff!), #3(9), #3(8), #3(7), #3(6), #3(5), #3(4), #3(3), #3(2), #3(1),
   * #3(liftoff!), #4(9), #4(8), #4(7), #4(6), #4(5), #4(4), #4(3), #4(2), #4(1),
   * #4(liftoff!),
   */// :~

参考

java编程思想(第4版)    656页开始

thinking in java(第四版 )  1120页开始

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网