`
chenk008
  • 浏览: 25844 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 线程的几个方法

    博客分类:
  • java
 
阅读更多
Thread的方法

sleep()
1. sleep ()函数有一个参数,通过参数可使线程在指定的时间内进入停滞状态,当指定的时间过后,线程则自动进入可执行状态。blocked线程池是进入阻塞状态的线程,跟锁没有关系。
2. 当调用sleep ()函数后,线程不会释放它的“锁标志”。

yield()
1.通过yield ()函数,可使线程进入可执行状态,排程器从可执行状态的线程中重新进行排程。所以调用了yield()的函数也有可能马上被执行。
2. 当调用yield ()函数后,线程不会释放它的“锁标志”。

join()
调用某线程的该方法,将当前线程与该线程"合并",即等待该线程结束,再恢复当前线程的运行。当前线程就是当前这行代码所在的线程。


Object的方法

wait()、notify()和notifyAll()
1. wait()函数有两种形式:第一种形式接受一个毫秒值,用于在指定时间长度内暂停线程,使线程进入停滞状态。第二种形式为不带参数,代表waite()在notify()或notifyAll()之前会持续停滞。wait线程池是被wait的线程的集合,等待被notify。
2. 当对一个对象执行notify()时,会从线程等待池中移走该任意一个线程,并把它放到锁标志等待池中;当对一个对象执行notifyAll()时,会从线程等待池中移走所有该对象的所有线程,并把它们放到锁标志等待池中。锁标志等待池中的线程就是等待获取该对象的锁权限,synchronized也会让线程进入锁标志等待池。
3. 当调用wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其它synchronized数据可被别的线程使用。


wait()和notify()因为会对加锁的对象的“锁标志”进行操作,所以它们必须在synchronized函数或synchronized block中进行调用。如果在non-synchronized函数或non-synchronized block中进行调用,虽然能编译通过,但在运行时会发生IllegalMonitorStateException的异常。通过对该对象的wait调用,会让当前线程进入等待状态。

  • 大小: 16.5 KB
分享到:
评论

相关推荐

    java多线程几个概念

    java多线程几个概念

    java线程安全测试

    java 线程安全的几个测试小例子,充分的理解JMM中的线程内存模型

    几个java线程的例子

    几个java线程的例子,解释详细 几个java线程的例子,解释详细

    java多线程作业.docx

    虽然执行线程给人一种几个事件同时发生的感觉,但这只是一种错觉,因为我们的计算机在任何给定的时刻只能执行那些线程中的一个。为了建立这些线程正在同步执行的感觉,Java虚拟机快速地把控制从一个线程切换到另一个...

    线程的几个重要方法.doc

    这是我总结的有关Java的线程的几个重要方法.doc,希望有所帮助!

    JAVA集合、多线程

    JAVA集合、多线程

    深入研究java的几个类--Java多线程编程总结

    在Java程序中,JVM负责线程的调度。线程调度是值按照特定的机制为多个线程分配CPU的使用权。 调度的模式有两种:分时调度和抢占式调度。分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;...

    java多线程应用实战

    多线程在实际开发中有着举足轻重的作用,但在教科书中并没有学到,本文以mysql(支持任何数据库)插入数据和查询数据为例子,讲述了如何在几秒钟内疯狂插入几十万数据,在一个方法中如何同时运行多条SQL语句(效率比...

    经典线程例子——Java线程学习指南

    里面包含了几个Java线程学习的例子,程序既简单又能让人很快理解线程的工作原理,是初学者不错的选择

    java线程死锁实例

    死锁在java 线程如何解决?这个实例描述了几个人资源共享的情况

    基础深化和提高-Java多线程技术

    继承Thread类:创建一个类继承自java.lang.Thread类,并重写run()方法来定义线程的执行逻辑。然后可以创建该类的实例并调用start()方法启动线程。 java class MyThread extends Thread { public void run() { // ...

    几个swing多线程的例子

    几个用java写的小例子,是学习的好参考。

    Java毕业设计-Java多线程与线程安全实践-基于Http协议的断点续传.rar

    项目主要包含以下几个部分: 1. 多线程下载:项目使用Java的多线程功能,将文件分成多个部分,每个部分由一个线程负责下载。这样可以充分利用网络带宽,提高下载速度。 2. 线程安全:项目中的多个线程需要共享资源...

    Java中停止线程执行的方法

    尽管可以在等待wait()条件那里放一个超时设置,但等待wait()的设计目的不是这样的,等待wait()在设计上是用于Java线程间的通信。 而使用睡眠sleep()方式,可以让线程从当前开始睡眠指定的时间。注意不要使用睡眠...

    Java多线程与线程安全实践-基于Http协议的断点续传(源码)

    本题目的研究内容包括以下几个方面:首先,研究Java多线程技术,包括线程的创建、同步、通信等机制,以及线程安全的概念和实现方法。然后,研究Http协议,包括Http请求和响应的格式、状态码等,以及如何利用Http协议...

    基于java 线程的几种状态(详解)

    下面小编就为大家带来一篇基于java 线程的几种状态(详解)。小编觉得挺不错的,现在就想给大家,也给大家做个参考。一起跟随小编过来看看吧

    java多线程笔记

    一、认识多任务、多进程、单线程、多线程 ...一个任务一般对应一个进程,也可能包含好几个进程。比如运行的MSN就对应一个MSN的进程,如果你用的是windows系统,你就可以在任务管理器中看到操作系统正在运行的进程信息。

    Java多线程之并发工具类

    一、总论:在JDK中提供了几种并发工具类  1)CountDownLatch(同步倒数计数器:等待多线程(或者多步骤)完成)  2)CyclicBarrier(循环屏障:同步屏障)  3)Semaphore(信号量:控制并发进程数)  主要参考...

    java线程相关实例源码

    关于线程的几个实例,有线程的死锁,同步,相关实例比较通用。

    多线程机制

    3、 几个常用的改变线程状态的方法 3 4、 线程的同步机制 8 5、 死锁 11 6、 线程间通信,也叫生产者与消费者问题 15 7、 浅析 Java Thread.join() : java多线程实现主线程等待所有子线程执行完毕 16 8、 线程运行...

Global site tag (gtag.js) - Google Analytics