线程

每个进程都有独立的代码和数据空间,然而线程共享代码和存储空间

 

线程和进程都有创建、就绪、运行、堵塞、中值

 

在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()

 

posted @ 2018-04-24 14:33  Prof  阅读(81)  评论(0)    收藏  举报