Java多线程
文章平均质量分 82
HTN_MK
这个作者很懒,什么都没留下…
展开
-
【Java多线程】多线程死锁
Q:什么是死锁?A:在多线程中,由于在同步中嵌套同步,可能会造成两个线程各占一把锁,双方都需要对方的锁才能继续执行下去,但在未得到对方的锁之前,双方都不能交出自己的锁,造成了死锁。原创 2017-08-23 15:04:14 · 486 阅读 · 0 评论 -
【Java多线程】多线程的线程安全及同步(synchronized)用法
Q:什么是线程安全问题?A:当多个线程同时共享同一个全局变量或静态变量,改变变量的数据时,可能会发生数据冲突问题,也就是线程安全问题。读取变量不会发生数据冲突。案例:售票系统,假设有两个窗口同时售票,使用多线程模拟售票。TicketThread.java原创 2017-08-22 23:15:55 · 333 阅读 · 0 评论 -
【Java多线程】什么是线程与线程的生命周期与线程的创建方式
Q:什么是进程和线程?A:进程是所有线程的集合,每一个线程是进程中的一条执行路径,main也是线程,是主线程。PS:线程之间互不干扰。Q:为什么使用多线程?A:提高应用程序的效率,比如下载软件的多下载任务可同时进行就是应用了多线程。1.创建线程的三种方法a)继承Thread类ThreadDemo1.javapublic class ThreadDemo1 exten原创 2017-08-22 00:19:30 · 3666 阅读 · 0 评论 -
【Java多线程】多线程案例:使用多线程向用户推送短信
情景:假设某应用程序有11名用户,使用多线程向所有用户推送短信。首先来个简单的用户类User.javapublic class User { private String ID; private String name; public User() { super(); } public User(String ID, String name) { this();原创 2017-08-20 10:49:21 · 5227 阅读 · 1 评论 -
【Java多线程】多线程之间实现通讯与生产者与消费者模式
Q:JAVA中如何实现线程通讯?A:使用wait()、notify()、notifyAll()方法。Q:什么是生产者与消费者模式?A:假设有一间有最大容量的仓库,生产者生产商品存放在仓库,消费者购买商品从仓库中取货,仓库里货物为零时,消费者不能取出货物,仓库装满了,生产者不能继续生产货物。在程序中符合这种状态的模式称为生产者与消费者模式。直接上代码Test.java原创 2017-08-25 16:19:39 · 406 阅读 · 0 评论 -
【Java多线程】Java内存模型与Volatile
1.Java内存模型共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(mainmemory)中,每个线程都有一个私有的本地内存(localmemory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在原创 2017-08-29 17:47:30 · 378 阅读 · 0 评论 -
【Java多线程】本地变量ThreadLocal
Q:什么是本地变量(ThreadLocal)?A:当创建多个线程时,ThreadLocal可为每个线程提供独立的变量副本,每个线程都可随意更改自己的副本且不影响其他线程。TestThreadLocal.javapublic class TestThreadLocal { public static void main(String[] args) { MyThreadLocal th原创 2017-08-31 11:54:42 · 479 阅读 · 0 评论