
线程
syf_wfl
java
展开
-
java线程池处理线程有返回值,且需全部结束后统一处理。
方法一 //创建一个计数器,标记所需执行线程的个数。 CountDownLatch latch = new CountDownLatch(线程个数); 线程池采用submit提交Callable任务的方式执行,这样有返回值Future,在线程结束的末尾调用latch.countDown();方法,标识执行完一个值就会减去1 等待所有任务提交完成后,调用latch.await(5, TimeUnit.SECONDS);表示等待这些任务5s,没有返回的就不管了。 ...原创 2021-12-08 21:46:31 · 1181 阅读 · 0 评论 -
java线程池调用与学习原理(可提升Tcp服务器并发性)
1、实现Runable方法,至始至终只有一个主线程。 2、继承Thread,有主线程和分支线程。 3、线程复用newCachedThreadPool,如果线程在做完事情之后,有新的任务来就可以复用。cpu可能100% 4、newFixedThreadPool,全是核心线程,没有非核心。内存可能溢出。 5、newSingleThreadPool,只有一个核心线程,没有非核心。内存可能溢出。 6、以上的三种线程池都可能出现问题,因此采用自定义线程池。提交优先级和执行优先级。执行优先级并不会按照提交优先级去执行,原创 2021-09-12 19:08:32 · 180 阅读 · 0 评论 -
Java中继承线程和实现线程的认识
1、当实现线程时,不管有几个线程启动,下一个都必须等待上一个完成了才会进行。 2、继承线程时,不会管上一个完没完成,只要有新线程都会开始运行。 根据自己的任务需求去想自己怎么创建线程。 ...原创 2021-04-26 23:43:47 · 121 阅读 · 0 评论