操作系统线程(进程)同步Java实例

阅读本文请先看Java线程类:http://www.omegaxyz.com/2018/04/09/java_threading/

Java提供Executor接口来执行线程池中的任务,提供ExecutorService接口来管理和控制任务。
ExecutorService executor = Executors.newCachedThreadPool();语句将为每个等待的任务创建一个新线程,所有的任务都能并发地执行。
注意要用shutdown()对执行器进行关闭。

假设创建并启动100个线程,每个线程都往一个账户中添加一个便士,以及一个用于创建和启动线程的主类。
当所有线程访问同一个数据源时就会出现数据破坏的问题。因此要用关键字synchronized对deposit()线程进行保护(加锁,互斥信号量)

实例代码:

或者对run()这样修改:

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注