`
cocca883
  • 浏览: 31598 次
社区版块
存档分类
最新评论

多线程复习

 
阅读更多

计算机中一个运行的程序称为一个进程  每一个进程有不同的内存块

一个进程中分多个线程:  多个线程使用同一块内存


创建多线程,可以使程序块并行执行。


创建多线程的方法有:

1、继承 Thread() 类


2、实现Runnable 接口

此种方法,需要创建一个Thread类对象,将Runnable 的实例作为创建Thread的构造器参数传递进去 。



两种方式 都是调用Thread类中的run()方法来启动线程,所以两种方法都要重写Thread中的Run() 方法。

需要在线程中执行的代码就放在run()方法中。





为了避免Java中单继承的现象,我们一般采用实现Runnable接口的方法创建线程。


线程的生命周期分为:

1、新建状态

2、就绪状态  调用star()方法后,分配空间等

3、运行状态  就绪后调用run()方法

4、阻塞状态  有些原因造成终断

4.1 优先级不够,没有抢到CPU

4.2 使用sleep()方法使线程休眠

4.3 线程由于I/O操作而被阻塞

4.4 调用wait()方法,线程进入等待

4.5 调用yield()方法,线程出 让CPU(些方法是将线程强制挂起)


5、死亡状态  run()方法结束,进入死亡状态



优先级高的线程有较高的机率被CPU青睐


针对使用同一块资源时就需要用到线程同步:

线程同步使用  synchronized 关键字












分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics