2021.9.21 菜鸡学习日记

5/10
两个没学过,一道错题
1、
图片说明

图片说明
意思是这几个方法,需要花一些时间,但是可以取消。
比如wait方***释放锁资源,并且线程要等待notify或者notifyAll方法的调用唤醒,才会继续执行;sleep会让线程等待相应的毫秒数;join方法,当前线程执行的时候,别的线程调用了join方法,当前线程就会暂停,必须等到别的线程执行完毕才可以继续执行。
可以取消:通过Thread类的实例方法Interrupt来取消线程这个状态。在执行的时候并不需要获取Thread实例的锁定,任何线程在任何时刻,都可以通过线程实例来调用其他线程的interrupt方法。
图片说明
sleep方法和join方法当被打断的时候,程序的控制权会立刻交给catch执行语句,因为不需要获取锁定。
wait方法被打断时候,必须重新获取锁定,再抛出异常。
图片说明

CyclicBarrier是一个屏障类,它的await方法可以简单的理解为:等待多个线程同时到达之后才能继续进行,在此之前它就是这些线程的屏障,线程不能继续进行,而对于失败的同步尝试,CyclicBarrier 使用了一种要么全部要么全不 (all-or-none) 的破坏模式:如果因为中断、失败或者超时等原因,导致线程过早地离开了屏障点,那么在该屏障点等待的其他所有线程也将通过 BrokenBarrierException(如果它们几乎同时被中断,则用 interruptedException)以反常的方式离开。因此它被中断也是可以抛出interruptedException的。
图片说明

2、
图片说明
基本特性是封装、继承、多态

3、
图片说明
普通成员变量就是。。区别于静态成员变量。。

4、
图片说明
题目中的两处共享数据指的是:共享进程的数据,不是线程之间的数据。
A.子进程得到的是除了代码段是与父进程共享以外,其他所有的都是得到父进程的一个副本,子进程的所有资源都继承父进程,得到父进程资源的副本,子进程可获得父进程的所有堆和栈的数据,但二者并不共享地址空间。两个是单独的进程,继承了以后二者就没有什么关联了,子进程单独运行;进程的线程之间共享由进程获得的资源,但线程拥有属于自己的一小部分资源,就是栈空间,保存其运行状态和局部自动变量的。
B.线程之间共享进程获得的数据资源,所以开销小,但不利于资源的管理和保护;而进程执行开销大,但是能够很好的进行资源管理和保护。
C.线程的通信速度更快,切换更快,因为他们共享同一进程的地址空间。
D.一个进程可以有多个线程,线程是进程的一个实体,是CPU调度的基本单位。

全部评论

相关推荐

狠赚笔第一人:学计算机自己不努力怪大环境?我大一就拿到了美团大厂的offer,好好看看自己有没有努力查看图片
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务