java线程重要语法

 Java支持一种“抢占式”(preemptive)调度方式。os
Newborn -己被创建但未执行,这时,线程对象己被分配内存空间,其私有数据己被初始化,但还未被调度对象可通过start()方法调度,或者利用stop()方法kill.新创建的线程一旦被调度,就将切换到"Runnable"状态。 
Runnable-就绪。线程正等待处理器资源,随时可被调用执行
Running -运行。
Blocked -阻塞或等待。被挂起、或处于消息等待状态的线程则必须由一外来事件唤醒。
Dead-巳执行完毕(正常结束),也可能是该线程被另一线程所强行中断(kill)。

thread类基本方法 
.public synchronized void start()
启动线程对象,调用其run()方法,随即返回 --我认为这是实现线程的重要一点
pubilc final void stop()
停止线程的执行。
.public final void resume()
唤醒被挂起的线程。只在调用suspend()之后有效。
.public final void suspend()
挂起线程的执行。
.public static void yield()
暂时中止当前正在执行的线程对象的运行。若存在其他线程,则随后调用下一个线程。
.public static void sleep(longmills)throws Inter rupted Exception
使当前正处运行状态的线程睡眠mills毫秒。
.public final void wait()throws Interrupted Exception
使线程进入等待状态,直到被另一线程唤醒
.public final void motify()
把线程状态的变化通知给另一等待线程

.publicfinalvoidsetPriority(intnewPriority)

设置线程优先级。
.publicfinalintgetPriority()

获取并返回线程的优先级。

实现Runnable界面是最常用的产生线程的方法,它打破了扩充Thread类方式的限制。
Java语言源码中,Runnable界面只包含了一个抽象方法,其定义如下:
package java.lang.*; public interface Runnable { public abstract void run (); }

Java使用程序(Monitor)来解决线程同步管程是一种并发同步机制
Java为每一个拥有synchronized方法的对象实例提供了一个唯一的管程。为了完成分配资源的功能,线程必须调用管程入口。管程入口就是synchronized方法入口。当调用同步(synchronized)方法时,该线程就获得了该管程。
实现严格的互斥。否则等待操作wait()。进入wait()后,该线程放弃占用管程,在管程外面等待(管程类似一个封装了一些函数和数据的盒子)释放资源时调用一个通知操作notify(),通知系统允许其中一个等待的线程获得管程。
在Java.lang中提供了用来编写管程的两个方法:notify()和wait()。此外还有notifyAll(),它通知所有等待的线程,使它们竞争管程,结果是其中一个获得管程,其佘返回等待状态。 
在Java中一个在不停运行的提供一些基本服务的例子是垃圾收集线程。该线程由Java虚拟机提供。它扫描程序中不再被访问的变量,将其所占的系统资源释放给系统

java.lang包中有一个Thread类.如果直接使用像这样
Thread th=new Thread();
System.out.println("xiaolu");
th.sleep(1000); //Thread的方法sleep参数为休眠毫秒数,但有一个异常抛出,记得捕捉
System.out.println("dkfja;ldk");

输出就是先打出第一个串,等1秒,然后打出第二个串


你可能感兴趣的:(java,thread,exception,interface,虚拟机,kill)