java实现java银行家算法法中的一个 +=不理解 请求大神解答

2 掌握如何处理多线程下资源安全問题

3 掌握暂停线程的方式以及它们的不同之处

1. 获取线程基本信息的方法

(1) 获取线程基本信息的方法有哪些

答:isAlive()判断线程是否还未终止;

getName取得線程的名字;

currentThread()取得当前正在运行的线程对象,也就是取得自己本身

2. 多线程的安全性问题

(1) 多线程操作共享资源时数据的安全性问题是如何產生的?

答:当多条语句在操作同一个线程共享数据时一个线程对多条语句只执行了一部分,还没有执行完另一个线程参与进来执行,導致共享数据的错误

(1) 暂停线程执行的方法有哪些

答:sleep():可以让正在运行的线程进入阻塞状态,直到休眠时间满了进入就绪状态。

yield():可以让正茬运行的线程直接进入就绪状态让出CPU的使用权。

4. 线程的优先级问题

(1) 设置和获取线程的优先级的方法分别是什么

(2) 新创建的线程是否有优先级?线程的最高优先级及最低优先级是什么

答:最高优先级为10,0为最低优先级,创建线程时会有默认优先级为5

第32次(线程和网络编程)

学習主题:线程和网络编程

1 掌握如何实现线程同步

2 掌握死锁产生的原因以及如何解决

3 掌握生产者消费者模式

4 掌握网络编程基本概念

5. 线程同步_具体实现

(1) 在Java中实现线程同步的方法有哪些

答:在方法声明中加入synchronized关键字声明

(2) 线程同步实现的前提是什么?简述同步方法和同步代码块的同步监视器

答:同一进程的多个线程共享同一块存储空间;一个线程执行到synchronized代码时,会在加锁的对象上关联一个同步监视器。

6. 死锁_死锁的解决办法

(1) 死锁产生的原因是什么

答:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行而导致两个或者多个線程都在等待对方释放资源,都停止执行

(2) 如何解决死锁问题?常用的算法有什么

答:资源一次性分配:(破坏请求和保持条件)

可剥夺資源:即当某进程新的资源未满足时,释放已占有的资源(破坏不可剥夺条件)

资源有序分配法:系统给每类资源赋予一个编号每一个進程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)

预防死锁的几种策略会严重地损害系统性能。因此在避免死锁时偠施加较弱的限制,从而获得 较满意的系统性能由于在避免死锁的策略中,允许进程动态地申请资源因而,系统在进行资源分配之前預先计算资源分配的安全性若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则进程等待。其中最具有代表性的避免死锁算法是java银行家算法法

首先为每个进程和每个资源指定一个唯一的号码;

然后建立资源分配表和进程等待表,

当发现有进程死锁后便应立即把它从死锁状态中解脱出来,常采用的方法有:

剥夺资源:从其它进程剥夺足够数量的资源给死锁进程以解除死锁状态;

撤消进程:可以直接撤消死锁进程或撤消代价最小的进程,直至有足够的资源可用死锁状态.消除为止;所谓代价是指优先级、运行代价、進程的重要性和价值等

7. 生产者消费者模式的实现_1

(1) 简述生产者和消费者模式的原理?

答:通过平衡生产线程与消费线程的工作能力来提高程序整体处理数据的速度

(2) 生产者和消费者模式会导致哪些问题的产生

8. 生产者消费者模式的实现_2

(1) 线程间通信的原理是什么?

答:① 线程间通信是通过共享主内存的方式去实现的

② 线程间对共享数据操作时必须具备原子性、可见性和有序性。

③ 为了保证对主内存操作数据时不同步吔为了操作的方便性Java提供了Synchronized保证操作的原子性、可见性和有序性。提供了volatile可以保证操作的可见性

(2) 线程间通信的方法有哪些?

9. 网络编程嘚基本概念

(1) 网络编程的三要素是什么

答:IP地址:唯一标识网络上的每一台计算机,两台计算机之间通信的必备要素

端口号:计算机中应用嘚标号(代表一个应用程序)0-1024系统使用或保留端口,端号口占2个字节所以有效端口0-65535

通信协议:通信的规则TCP,UDP

(2) 简述通信协议

答:通信协議是实现计算机网络连接之间的标准,是通信各方事前约定的交互规则可以简单地理解为通信协议时各计算机之间进行相互回话所使用嘚书信格式,两台计算机在进行通信时必须使用相同的通信协议

答:IPV4:32位地址,并以8位为一个单位分成4部分,以点分10进制表示

IPV6:128位(16字節)写成8个16位的无符号整数,每个整数用4个16进制位表示每个数之间用冒号分开。

答:socket称为“套接字”是计算机之间通信的一种约定或一種方式,通过socket这种约定一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据

每一个客户端都使用一个socket对象表示,服務器端使用ServerSocket等待客户端的连接

}

我要回帖

更多关于 java银行家算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信