JAVA多线程
文章平均质量分 63
LiuXudongHnu
这个作者很懒,什么都没留下…
展开
-
多线程中run()和start()方法的区别
通常,系统通过调用线程类中的start()方法来启动一个线程,此时该线程处于就绪状态,而不是运行状态,这意味着这个线程可以被JVM来调度执行。在调度过程中,JVM通过调用线程类的run()方法来完成实际的操作,当run()方法结束时,此线程就会终止。如果直接调用线程类的run()方法,这就是普通的函数调用。此时,程序中仍只有主线程一个线程,而采用start()来调用,则不止一个线程,不仅有主线原创 2017-03-10 16:22:07 · 1174 阅读 · 0 评论 -
JAVA实现多线程的方法
并发编程使我们可以将程序划分为多个分离的、独立运行的任务。通过多线程机制,这些独立任务中的没一个都将由执行线程来驱动。要搞清这些,就先搞清什么叫线程?所谓线程,就是进程中的一个单一的顺序控制流。多线程的实现一般有三种方法:1、继承Thread类,重写run()方法。Thread本质上是Runnable接口的一个实例,它代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的s原创 2017-03-10 09:12:40 · 394 阅读 · 0 评论 -
线程的生命周期和状态
线程的五个状态:新建、就绪、运行、阻塞、死亡。新建状态:当使用new来新建一个线程时、该线程就处于新建状态,和其它JAVA中的对象没有区别,JVM为其分配内存。就绪状态:当线程调用了start方法后,该线程就处于就绪状态。JVM为其创建方法调用栈和程序计数器,处于这个状态的线程并没有开始运行,只是表示这个线程可以运行了,至于什么时候运行,由JVM中的线程调度决定。运行状态:如果处于就绪原创 2017-03-11 15:38:31 · 503 阅读 · 0 评论 -
JAVA中控制线程的方法
JAVA中提供了一些方法用来控制线程的执行。1、join方法:由Thread提供,作用:让一个线程等待另一个线程完成的方法。a线程中调用b线程的join方法,那么a线程将被阻塞,直到b线程执行完毕。public class JoinThread extends Thread{ public JoinThread(String name){ super(name); } p原创 2017-03-11 18:18:12 · 664 阅读 · 0 评论 -
JAVA中多线程同步的方法
当多个线程访问同一个资源时,很有可能会出现线程安全的问题。比如,多个线程对一个数据进行修改时,会导致某着线程对数据的修改丢失。而同步机制就是为了解决这种问题。 JAVA中,有三种实现同步机制的方法: 1、synchronized关键字:JAVA中,每个对象都有一个对象锁预知相关联,该锁表明对象在任何时候只允许被一个线程拥有,当一个线程调用对象的一段synchroniz原创 2017-03-13 14:12:52 · 488 阅读 · 0 评论 -
多线程中的BlockingQueue(阻塞队列)
JAVA5中提供了一个BlockingQueue接口,虽然它是Queue的子接口,但它的主要作用并不是容器,而是作为线程同步的工具。多线程的环境中,通过队列可以实现数据共享,比如生产者消费者模型中,通过队列可以实现数据共享。但是如果生产者的生产速度和消费者的消费速度不匹配的话,很容易造成队列满了,生产者无法把数据放进去或者队列没有数据,消费者无法从中获得数据。BlockingQueue的特征便是:原创 2017-03-13 19:10:48 · 922 阅读 · 0 评论