Thread

来源:互联网 发布:网络电视绿色版 编辑:程序博客网 时间:2024/06/16 07:59

1、Thread常用方法
线程创建:
Thread(),Thread(String name),Thread(Runnable target),Thread(Runnable target,String name)
线程方法:
void start()//启动线程,static void sleep(long mills)//线程休眠,void join()/void join(long millis)/void join(long millis,int nanos)//使其他进程等待当前线程终止
static void yield()//当前运行线程释放处理器资源
线程引用:static Thread currentThread()//返回当前运行的线程引用
2、Thread类和Runnable接口,都要实现public void run()方法。
3、Thread.join(),该方法使得所有进程等待当前进程的执行完毕。
4、Thread的stop()方法时一个错误的方法,不应该使用stop()方法来停止进程。使用退出标志,设置一个temp初值为true,之后为false,用一个while循环,停止进程。
5、Thread的interrupt()方法
6、争用条件:当多个线程同时访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致该数据被破坏,这就是争用。java中使用synchronize关键字实现互斥,既可以出现在方法之上,也可以出现在方法体之中,以一个块的形式出现。
synchronized(lockobj){
while(条件不满足){
lockobj.wait();
}

lockobj.notifyAll();//唤醒在lockobj对象上等待的所有线程
}
java中同步的实现:wait()/notify()/notifyAll(),这三个方法都是Object对象的成员函数。
lockobj.wait();//调解不满足,将当前线程放入Wait set
lockobj.notifyAll();//唤醒所有在notifyAll上等待的线程

0 0
原创粉丝点击