![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
胡少侠7
侠之大者,为国为民。
展开
-
1.使用Runnable和Thread完成线程创建和基本操作
利用《倚天屠龙记》中光明顶之战连完成线程的创建及线程的基本操作 GuangMingDing.java:舞台线程 HeroThread.java:六大门派线程 SchoolRunnable.java:英雄线程(就是张无忌啦) Runnable和Thread@FunctionalInterface public interface RunnableRunnable接口应由任何类实现,其实例将由线程执行原创 2017-07-30 20:37:36 · 466 阅读 · 0 评论 -
2.使用synchronized关键字实现多线程的同步和互斥(不同线程同时读写同一数据)
利用能量守恒定律实现多线程的同步和互斥 - EnergySystem.java:能量类 - EnergySystemTest.java:测试Main类 - EnergyTransferTask.java:任务线程线程synchronizedsynchronized关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、D等)正在用这个方原创 2017-07-31 21:58:28 · 987 阅读 · 0 评论 -
3.多线程之Thread VS Runnable
两种方式的比较Runnable方式可以避免Thread方式由于Java单继承特性带来的缺陷。 Runnable可以被多个线程(Thread实例)共享,适用于多个线程处理统一资源资源 分别使用Runnable和Thread模拟火车站卖票使用Thread方式/** * 一个共五张火车票,三个窗口卖 * / class MyThread extends Thread { private in原创 2017-08-02 22:23:55 · 206 阅读 · 0 评论 -
5.多线程之内存可见性
1、共享变量在线程间的可见性 共享变量:如果一个变量在多个线程的工作内存中都存在副本, 那么这个变量就是这几个线程的共享变量 可见性:一个线程对共享变量值的修改,能够及时的被其他线程看到 Java内存模型(JMM,Java Memory Model): 描述了java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将转载 2017-08-05 10:10:53 · 216 阅读 · 0 评论 -
4.多线程之守护线程
守护线程守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 用户线程用户线程和守护线程两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了。 使用Thread方式import jav原创 2017-08-03 20:31:09 · 289 阅读 · 0 评论