新闻正文
=================
Java Thread /YZW
=================
1. 线程进程概念
---------- 多线程:单个程序内部好象在同一时刻运行多种运算.
多进程:同一时间内好象有多个程序运行.
2. 线程状态
------ 2.1创建状态
2.2可运行状态
2.3不可运行状态
2.4死亡状态
2.1 创建状态(new thread)
------------------- Thread TestThread = new TestThread();
没有被启动,仅仅是空的线程对象,系统不为它分配资源.
可调用方法:start() stop()
2.2 可运行状态(runnable)
------------------- TestThread.start();
该方法产生了运行这个线程所需的系统资源,安排其运行
并调用线程体run(),使程序处于可运行状态.
注意:并不一定在运行状态,也许线程还没真正执行.
2.3 不可运行状态(not runnable)及其返回
--------------------------------- (1)调用了sleep()----------------->时间过去
(2)调用了suspend()--------------->resume()
(3)调用了wait()------------------>该条件变量所在对象notify()/notifyAll()
(4)输入输出流中发生线程阻塞------>特定的I/O指令
2.4 死亡状态(dead)
------------- 自然撤消: run()方法中正常退出
主动停止: stop()方法停止当前线程
3. 线程体构造
-------- 3.1继承构造
3.2接口构造
3.1 继承构造
----------class TestThread extends Thread
{
//name your thread
public TestThread(String str)
{
super(str);
}
//overwrite the func
public void run()
{
........
}
}
class Caller()
{
public static void main(String[] args)
{
new TestThread("May 1st").start();
}
}
3.2 接口构造
----------class TestThread implements Runnable
{
//overwrite the func
public void run()
{
........
}
}
class Caller()
{
public static void main(String[] args)
{
TestThread test = new TestThread();
new Thread(test).start();
}
}
注意:实现Runnable仅仅意味着有一个run()方法,不具有天生的线程能力.
4. 其它
----- 4.1 构造方法选择
当一个线程已继承了另一个类时,用Runnable()接口
4.2 实用方法
isAlive():线程已被启动并且未被终止,返回true.
※ 修改:·calmwater 於 05月01日00:09:44 修改本文
※ 修改:·calmwater 於 05月01日00:29:22 修改本文
收藏到ViVi 收藏此页到365Key
上一篇:
Java IO 小结 下一篇:
Thread Mutex|Synchronize 小结