学习线程

线程定义:线程是一个程序里面不同的执行路径。

进程是一个静态的概念

在一个cpu中,在某一个时间点只能执行一个线程,知识cpu转换线程执行的速度太快了,以至于人眼看不出来以为在进行,除非是双cpu或双核的电脑可以实现真正意义上的多线程。

问题一:为什么不直接使用run方法而要用start方法启动线程?

答案:用run方法不是启动线程,那叫方法的调用。

线程同步:

例:public synchronized void add() {}

他的意思是在执行该方法过程中锁定当前线程对象而不是同步方法。

同步方法的例子:synchronized public void add() {}.

如果一个方法加同步而另一个方法没加,那么别的线程可以自由的访问未加同步的方法,并且可能会对加同步的方法产生影响。

wait与sleep的区别:

wait是object的方法,而sleep是thread的方法;

wait时别的线程可以调用锁定对象,而sleep时别的线程不可以调用锁定对象。

yield方法:让出资源给别的线程。

posted @ 2017-09-27 17:16  我是店小二  阅读(111)  评论(0编辑  收藏  举报