当前位置:首页 > 编程笔记 > 正文
已解决

多线程的学习01

来自网友在路上 160860提问 提问时间:2023-10-27 06:06:47阅读次数: 60

最佳答案 问答题库608位专家为你答疑解惑

什么是线程

线程是为了解决并发编程引入的机制,线程相比进程来说更轻量。

创建线程比创建进程——开销更小

销毁线程比销毁进程——开销更小

调度线程比调度进程——开销更小

进程包含线程,同一进程里的若干线程之间,共享着内存资源和文件描述符表

每个线程被独立调度执行,每个线程都有自己的状态/优先级/上下文/记账信息

进程是操作系统资源分配的基本单位

线程是操作系统调度执行的基本单位 

Thread常见的构造方法

Thread()                创建线程对象

Thread(Runnable target)                            使用Runnable对象创建线程对象

Thread(String name)                                  创建线程对象,并命名

Thread(Runnable target,String name)        使用Runnable对象创建线程对象,并命名

把t设置为守护进程/后台进程。此时进程的结束与否和 t 无关了。

在真正调用start之前,调用t.isAlive就是false.调用start之后,isAlive就是true

isAlive是在判断,当前系统里面的这个线程是不是针对有了。

另外,如果内核里线程把run干完了,此时线程销毁。pcb随之释放。但是Thread t 这个对象还不一定被释放,此时 isAlive 也是 false。

 中断一个线程

中断的意思是:不是让线程立即就停止,而是通知线程,你应该要停止了,是否真的停止,取决于线程这里具体的代码写法。

1、使用标志位来控制线程是否静止

2、使用Thread自带的标志位进行判定

 

interrupt会做两件事

1、把线程内部的标志为(boolean)给设置为true

2、如果线程在进行sleep,就会触发异常,把sleep唤醒

但是sleep在唤醒的时候,还会做一件事,把刚才设置的这个标志位在设置会false(清空了标志位) 

等待一个线程

线程是一个随机调度的过程,等待线程,就是在控制两个线程的结束顺序。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"多线程的学习01":http://eshow365.cn/6-25729-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!