线程
每个进程都有独立的代码和数据空间,然而线程共享代码和存储空间
线程和进程都有创建、就绪、运行、堵塞、中值
在java中线程有两种实现方法,使用Thread的子类或者继承runnable接口类 (两种待实现)
目前接触的所有文档都显示runnable更加强大:
1. 可以让多个线程公用数据
2.避免了java单继承的限制(how)
3.线程池只能放进runnable,不能放进thread类
注意:线程中始终至少有main线程和垃圾回收线程
每运行一个类 都是重新使用新的一个jvm来创建一个进程。
进程可以自己休眠sleep(不会释放锁),或者等待线程池wait,或者john方法让其他的线程进来 从而让其他线程执行完再执行原线程,也会因为锁被别的线程使用,yield只会把执行顺序让给同样优先级的其他线程,如果没有的话,继续执行原线程;
可以使用synchronized并使用同一对象参数,控制进程并发;如果使用方法synchronized,那么就不需要同一个名称。 例如synchronized void consume()和synchronized void produce()

浙公网安备 33010602011771号