![](https://img-blog.csdnimg.cn/27544615940c4f6eb5803cb406044360.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java多线程
文章平均质量分 79
多线程
松仔log
初出茅庐的程序员
展开
-
Java多线程——同步
同步是什么? 当两个线程同时对一个变量进行修改时,不同的访问顺序会造成不一样的结果,这时候就需要同步保证结果的唯一性。 未同步时 新建Bank类,transfer()用于在两个账户之间转账金额 class Bank { private double[] accounts; public Bank(int accountNum, double initialMoney) { accounts = new double[accountNum]; Arrays.f原创 2023-09-09 16:06:44 · 130 阅读 · 0 评论 -
Java多线程——Thread和Runnable
线程和进程线程和进程是什么?Thread和Runnable是什么?Runnable源码线程使用匿名Thread线程状态New(新创建)Runnable(可运行) 线程和进程是什么? 进程:通常一个应用程序就是一个进程,进程间不共享变量 线程:一个应用程序可同时执行多个任务,每个任务称为线程,线程间共享变量。 Thread和Runnable是什么? Runnable源码 Runnable是函数式接口,内部只有一个抽象run()方法,可传递Lambda表达式 public interface Runnable原创 2023-09-09 16:10:10 · 198 阅读 · 0 评论 -
java多线程——线程池
线程池线程池创建线程池关闭线程池使用获取多个结果 线程池 一个线程池中存在许多准备运行的空闲线程,把Runnable对象交给线程池,会有一个线程调用其run()方法,当调用完后线程不会死亡,而是在池中继续为下一次请求服务 利用线程池可避免创建大量生命周期很短的线程,同时也可限制并发线程的数目 创建线程池 创建方法 备注 Executors.newCachedThreadPool() 若线程池无可用空闲线程,则创建一个,空闲线程保留60秒 Executors.newFixedThreadP原创 2023-09-09 16:12:51 · 179 阅读 · 0 评论 -
Java多线程——Callable和future
Callable和futureCallableFutureRunnableFutureCallable Runnable封装了一个异步运行的任务,其run()方法是一个没有参数和值的异步方法 而Callable中的call()方法是带有返回值为模板参数T的异步方法,其源码为 public interface Callable<V> { V call() throws Exception; } Future Future保存异步计算的结果,可以启动一个计算交给线程,在计算完结果后就可以得到它,原创 2023-09-09 16:13:54 · 182 阅读 · 0 评论