随笔分类 - Java并发多线程
摘要:【线程让步yield()方法】 yield()方法可以让当前正在执行的线程暂停,但它不会阻塞该线程,它只是将该线程从运行状态转入就绪状态。 只是让当前的线程暂停一下,让系统的线程调度器重新调度一次。 很有可能,当某个线程调用了yield()方法暂停之后进入就绪状态,它又马上抢占了CPU的执行权,继续
        阅读全文
            
摘要:【线程睡眠】 如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用Thread类的静态方法sleep()方法来实现。 sleep()方法有两种重载形式: 1.static void sleep( long millis ):让当前正在执行的线程暂停millis毫秒,并进入阻塞状态
        阅读全文
            
摘要:【后台线程】 后台线程(Daemon Thread):运行在后台,他的任务是为其它的线程提供服务,又称为"守护线程"。JVM的垃圾回收线程就是典型的后台线程。 [ 特征 ] 如果所有的前台线程都死亡,后台线程会自动死亡。 调用Thread对象的setDaemon(true)方法可以将指定的线程设置成
        阅读全文
            
摘要:【join线程简述】 join()方法:Thread提供的让一个线程去等待另一个线程完成。当在某个程序执行流中(如main线程)调用其它线程(如t2线程)的join方法(t2.join()),调用线程(main线程)将被阻塞,直到被join()方法加入的join线程(t2.start())执行完成为
        阅读全文
            
摘要:【线程状态】 在线程的生命周期中,它要经过 新建(New)、就绪(Runnable)、运行(Running)、阻塞(Bolcked)、死亡(Dead)总共5种状态。 尤其在线程启动之后,它不可能一直占着CPU运行,所以CPU需要在多个线程之间相互切换,于是线程的状态也会多次在运行、阻塞之间切换。 【
        阅读全文
            
摘要:【简述】 为了支持多线程之间的协作,JDK提供了两个重要的线程方法:通知notify()、等待wait()。 任何对象都可以调用这两个方法,因为他们在Object类中。 【wait方法】 当一个对象调用了wait方法之后,当前线程就会在这个对象上等待。比如,线程A中,调用了obj.wait()方法,
        阅读全文
            
摘要:【简述】 从java5开始,java提供了Callable接口,这个接口可以是Runnable接口的增强版, Callable接口提供了一个call()方法作为线程执行体,call()方法比run()方法功能更强大。 【call()方法特点】 1.call()方法可以有返回值 2.call()方法可
        阅读全文
            
摘要:【线程的创建和启动的步骤(实现Runnable接口方式)】 1.定义Runnable接口的实现类,并重写其中的run方法。run()方法的方法体是线程执行体。 class SonThread implement Runnable{ public void run(){ ...... } } 2.创建
        阅读全文
            
摘要:【简述】 java使用Thread类代表线程,所有的线程都必须是Thread或者其子类的实例。 每个线程的任务就是完成一定的任务,实际上就是执行一段程序流。 【创建并启动多线程的步骤(集成Thread类方式)】 1.定义继承Thread类的子类,重写run方法:run()方法就代表了线程需要完成的任
        阅读全文
            
摘要:【进程概念】 操作系统中所有运行中的任务通常是一个程序,每个运行中的程序就是一个进程(Process), 当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位。 【进程三个特性】 
        阅读全文
            
 
                    
                
 
 浙公网安备 33010602011771号
浙公网安备 33010602011771号