进程和线程

学习主题:IO流
学习目标:
1 掌握获取线程信息
2 掌握如何处理多线程下资源安全问题
3 掌握暂停线程的方式以及它们的不同之处
4 掌握线程优先级

1.获取线程基本信息的方法
(1)获取线程基本信息的方法有哪些?
1、static Thread current Thread() ,返回目前正在执行的线程
2、final String getName() 返回线程的名称
3、final boolean isAlive() 判断线程是否处于活动状态

2.多线程的安全性问题
(1)多线程操作共享资源时数据的安全性问题是如何产生的?
线程在执行的中途就被抢占资源,开始另一个线程,然后下次再抢到资源的时候从断点开始继续执行,这样往往会出现资源多执行的问题。

3.暂停线程执行sleep_yield_join_stop
(1)暂停线程执行的方法有哪些?
1、final void join()
2、Static void sleep(long millis)
3、Static void yield()
(2)sleep,yield,join方法将会导致线程进入什么状态?
sleep使当前正在执行的线程休眠,线程处于阻塞状态
Yield 当前正在执行的线程暂停一次,允许其他线程先执行
Join 调用该方法的线程强制执行,其他线程处于阻塞状态,该线程执行完后,其他线程再执行

4.线程的优先级问题
(1)设置和获取线程的优先级的方法分别是什么?
1、final int getPriority() 获取线程的优先级
2、Final void setPriority(int priority)设置线程的优先级

(2)新创建的线程是否有优先级?线程的最高优先级及最低优先级是什么?
新创建的线程会被分配默认优先级5,线程最高优先级为10,最低优先级为5。
分享/讲解/扩展思考
点名提问从第一节课到最后一节课分别学到了什么,直到同学们把所有的知识点都说出来并且保证无误。

学习主题:线程和网络编程
学习目标:
1 掌握如何实现线程同步
2 掌握死锁产生的原因以及如何解决
3 掌握生产者消费者模式
4 掌握网络编程基本概念

5.线程同步_具体实现
(1)在Java中实现线程同步的方法有哪些?
同步代码块,同步方法
(2)线程同步实现的前提是什么?简述同步方法和同步代码块的同步监视器?
线程同步实现的前提是对这个线程加锁,同步代码块synchronized(obj){}其中的obj称为同步监视器,同步方法的同步监视器为当前对象this

6.死锁_死锁的解决办法
(1)死锁产生的原因是什么?
多线程操作时,互相等待对方的资源

(2)如何解决死锁问题?常用的算法有什么?
不要让两个对象同时持有对象锁,采用互斥方式解决。常用银行家算法。

7.生产者消费者模式的实现_1
(1)简述生产者和消费者模式的原理?
生产者线程生成集合或者数组,同时,消费者线程取出集合或者数组。虽然任务不同,但是处理的资源是相同的,这体现的是一种通信原理。
(2)生产者和消费者模式会导致哪些问题的产生?
1、数据错乱
2、重复产生和重复取走

8.生产者消费者模式的实现_2
(1)线程间通信的原理是什么?

  1. 生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。
  2. 对于生产者,没有生产产品之前,消费者要进入等待状态。而生产了产品之后,又需要马上通知消费者消费。
  3. 对于消费者,在消费之后,要通知生产者已经消费结束,需要继续生产新产品以供消费。
  4. 在生产者消费者问题中,仅有synchronized是不够的。
    · synchronized可阻止并发更新同一个共享资源,实现了同步;
    · synchronized不能用来实现不同线程之间的消息传递(通信)。

(2)线程间通信的方法有哪些?
1、final void wait()
2、void wait(long timeout)
3、final void wait(long timeout,int nanos)
4、final void notify()
5、final void notifyAll()

9.网络编程的基本概念
(1)网络编程的三要素是什么?
1、IP地址
2、端口号
3、通信协议
(2)简述通信协议?
通信的规则:TCP, UDP
通过计算机网络可以实现不同计算机之间的连接与通信,但是计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。就像两个人想要顺利沟通就必须使用同一种语言一样,如果一个人只懂英语而另外一个人只懂中文,这样就会造成没有共同语言而无法沟通。

10.IP_端口_Socket含义
(1)IP地址的分类?
A类 ,B类 ,C类 ,D类 ,E类
(2)简述Socket的含义?
Socket称为“套接字”,是计算机之间通信的一种约定或一种方式,通过Socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值