java多线程基础

Posted 流氓剑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程基础相关的知识,希望对你有一定的参考价值。

wait和notify是针对sychronized锁定对象的
sychronized(object)object.wait();//释放object的锁
sychronized(object)object.notify();//会随机唤起一个对object枷锁的等待线程,这个过程是随机唤醒的,不公平的
sychronized(object)object.notifyAll()//会把所有对object加锁的线程全部唤醒

 

suspend(线程挂起) 和resume(继续执行)

suspend线程挂起之后不会释放锁,直到resume操作;

如果resume在suspend之前执行,那么这个线程很难被唤醒,从线程角度看线程还是runable,会袁总影响系统。

如果优化suspend需要可以用wait和notify实现

 

join和yield

join表示等待线程结束再次执行

yield表示谦让,表示使当前线程让出cpu,让其他线程工作。

AddThread at=new AddThrea();

at.start();

at.join();

表示当前线程先阻塞,等待at线程执行完成之后再执行当前线程

join(millis)表示等待millis之后如果还未执行,就会直接去执行

 




以上是关于java多线程基础的主要内容,如果未能解决你的问题,请参考以下文章

Java 多线程基础多线程的实现方式

Java多线程基础

温故Java基础多线程编程—线程安全

JAVA多线程和并发基础面试问答

java 基础学习:多线程04

Java多线程多线程基础