创建线程池的API: java.util.concurrent.Executors类下: public static ExecutorService newFixedThreadPool(int nThreads):返回线程池对象。(创建的是有界线程池,也就是池中的线程个数可以指定最大数量) 创建示例: ExecutorService pools = Executors.newFixedThreadPool(3);//创建一个可以容纳三个线程的线程池 1. (...
这是因为我们让请求线程睡眠了10s,10s后再去从tempRequest取值,那么其实tempRequest已经被最后一个覆盖,三次请求其实最后取的都是同一个tempRequest。也就是说,这样设计的request是线程不安全的,并不是将当前request放在当前线程threadlocal中。(threadlocal简单理解就是将一些值与当前线程关联起来,放的时候放在当前线程...
public class implementsRunnable {//1.自定义类,实现Runnable接口static class myRun implements Runnable{//2.重写抽象方法@Overridepublic void run() {//编写需要执行的程序for(int i = 0;i < 100; ++i){//获取当前执行的线程Thread t = Thread.currentThread();System.out.println("执行:" + t.getNam...
TicketsCount; if (count>0) { //暂停一段时间 [NSThread sleepForTimeInterval:0.002]; //2.票数-1 self.leftTicketsCount= count-1; //获取当前线程 NSThread *current=[NSThread currentThread]; NSLog(@"%@--卖了一张票,还剩余%d张票",current,self.leftTicketsCount); }else { //退出线程 [NSThre...