JAVA多线程
线程用方法区的时候,只是复制一份,到自己的栈帧里,用完以后,再同步回去。
Java stack以帧为单位保存线程的运行状态。
每个线程执行每个方法的时候都会在栈中申请一个栈帧,每个栈帧包括局部变量区和操作数栈,用于存放此次方法调用过程中的临时变量、参数和中间结果。所以一个方法被多个线程执行的时候,临时变量、参数和中间结果不用考虑同步问题。
线程部分
线程池的最大多少和最小多少的区别?
线程池解决了java创建线程和销毁线程所浪费的时间。
多个线程池的坏处?
thread.stop
1. 即刻抛出ThreadDeath异常,在线程的run()方法内,任何一点都有可能抛出ThreadDeath Error,包括在catch或finally语句中。
2. 释放该线程所持有的所有的锁
如果线程的run是 synchronized的话,不会执行
总体是不安全的
thread.join 阻塞调用线程,等待thread结束,如果设置参数 a.join(1000)就是阻塞1000ms
thread.yield 线程暂时休息下