![](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 · 133 阅读 · 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 · 206 阅读 · 0 评论 -
java多线程——线程池
线程池线程池创建线程池关闭线程池使用获取多个结果线程池一个线程池中存在许多准备运行的空闲线程,把Runnable对象交给线程池,会有一个线程调用其run()方法,当调用完后线程不会死亡,而是在池中继续为下一次请求服务利用线程池可避免创建大量生命周期很短的线程,同时也可限制并发线程的数目创建线程池创建方法备注Executors.newCachedThreadPool()若线程池无可用空闲线程,则创建一个,空闲线程保留60秒Executors.newFixedThreadP原创 2023-09-09 16:12:51 · 181 阅读 · 0 评论 -
Java多线程——Callable和future
Callable和futureCallableFutureRunnableFutureCallableRunnable封装了一个异步运行的任务,其run()方法是一个没有参数和值的异步方法而Callable中的call()方法是带有返回值为模板参数T的异步方法,其源码为public interface Callable<V> { V call() throws Exception;}FutureFuture保存异步计算的结果,可以启动一个计算交给线程,在计算完结果后就可以得到它,原创 2023-09-09 16:13:54 · 189 阅读 · 0 评论