【JAVA多线程】认识java多线程

来源:互联网 发布:宽客俱乐部网站域名 编辑:程序博客网 时间:2024/05/24 01:26

一、什么是线程?

线程是虚拟的东西,看不见,摸不着,就知道可以这样触摸到线程:在java中   new Thread 或者实现Runnable,这样就创建了一个线程。多线程那就是可以创建很多线程呗。

我把线程想象成一条线(谁让它叫线程呢):

 

 

多线程:

 

然后看过一些虚拟机的东西,按照虚拟机的说法,每个线程都背着一个筐,比较官方的说法管这个筐叫线程栈,说到栈就是什么“后进先出”,具体为什么还不知道,线程就变成下面的样子了。

 



 

每个线程有5个状态:

 



 


新:  就是new了一个线程对象

运行:  就是执行start

死:   线程执行结束了。

等待 阻塞 睡眠:      就是 调用了 wait  suspend  sleep方法或其他情况。

 

这里唯一不好理解的就是可运行状态,可运行就是说调用了start但是由于锁或者优先级等原因,线程并没有执行;也可以这样理解,同时启动100个线程,100个中不是同时开始执行的,由于某种有些还处于可运行状态,只有一部分运行了。


 

 

  • 大小: 372 Bytes
  • 大小: 629 Bytes
  • 大小: 658 Bytes
  • 大小: 7.4 KB
  • 查看图片附件
原创粉丝点击