- 博客(18)
- 收藏
- 关注
原创 线程安全4:Wait()与notify()
这是因为在Java中,wait(),notify(),notifyAll()必须与同一把锁进行使用,不能在A对象的锁中调用B对象的wait(),notify().notify(),notifyAll()的唯一区别是notify()随机唤醒一把被wait()堵塞的线程,而notifyAll()是将所有被wait()堵塞的线程唤醒。notifyAll()与之类似。wait()的作用当前线程暂停执行,释放对象锁,进入该对象的等待的队列,直到中断,或者notify(),notifyAll()唤醒。
2025-03-26 21:57:05
279
原创 线程安全3:死锁与Synchronized
我们先看一段代码与运行框。我们可以发现t1 与t2 都无法获取对方先使用的lock1和lock2.这是为什么?明明我们在代码中让线程t1与t2都获取了lock1与lock2,但是代码并没有执行。
2025-03-25 22:11:07
838
原创 线程安全2:volatile
在讲volatile关键字之前,我们先看一段代码及其运行图。这段代码中,明明我们将n的值改为了其它非0值,但是线程1并没有结束。这是为什么?
2025-03-25 21:30:57
535
原创 子线程执行完毕后再执行主线程代码
请设计代码,在main主线程中,等待所有子线程执行完后,再打印 ok。每个线程按0-19的序号打印,如第一个线程需要打印0。有20个线程,需要同时启动。
2025-03-24 20:52:02
226
1
原创 多线程数组求和
2:我将sum求和放在了t1与t2之前,导致 sum求和失败。1:我没有让主线程等待。t1与t2运行完就结束了主线程。我在代码编程过程中碰到了两个问题导致代码出错。
2025-03-24 20:27:57
210
1
原创 线程中run方法与start方法的差别
run()方法是Runnable接口中定义的方法,Thread类实现了Runnable接口。当你直接调用run()方法时,它会在当前线程中执行,而不会启动一个新的线程。也就是说,run()方法只是一个普通的方法调用,不会产生多线程的效果。
2025-03-23 22:34:24
681
2
原创 Java 线程(Thread)的创建
Java中使用多线程,是通过Thread类来实现(由标准库提供的类)。a)创建类,继承Thread,重写run方法。b)实现Runnable,重写run方法。d)本质b方法,但是通过匿名内部类。c)通过一个匿名内部类来继承。e)lambda表达式创建线程。该方法还有其它实现方式。
2025-03-23 22:18:56
271
1
原创 UDP客户端
UDP回响服务器接收客户端发送的数据包,并将其原样返回。它使用无连接的UDP协议,适用于低延迟、高效率的通信场景。代码部分就在下方了。如果有不足之处,请告知。
2025-03-23 21:10:02
142
原创 UDP服务器
这这个代码中,实现了一个UDP回响服务器,通过DatagramSocket类与DatagramPacket类来实现服务器与客户端的交互。当然,由于整个这是一个回响服务器,计算部分也就是Process()方法非常的简单,也不多讲述。UDP 是一个无连接,不可靠传输,面向数据报的。如果有可以补充的,或是错误的地方,欢迎纠正,
2025-03-22 22:04:09
159
原创 TCP客户端
在这个代码中,我选择了用Scanner类与PrintWrite类来接收TCP客户端响应数据,将数据传输给客户端。好吧,我写的这个客户端并没有多余的功能,与需要讲解的内容。如果有不足之处,或好的实现方法,欢迎留言。如标题所见,这是一个TCP客户端。
2025-03-22 21:26:39
211
原创 TCP服务器
这是一个由TCP socket api实现的TCP回响服务器。主要使用ServerSocket类与Socket类来实现。TCP有连接,可靠传输,面向字节流,全双工。
2025-03-22 11:57:05
182
1
原创 C语言分支循环语句
举一个例子:W为总公里,S为速度,S<100,100<S<200,200<S<300,分别耗油10L/KM,12L/KM,15L/KM,打印不同速度下耗油多少?很明显这个题目使用if语句会比switch简便很多,仅仅需要几个判断就可以结束,不同速度油耗的改变,当然如果分支过多,还是推荐switch语句的。switc后的expression必须是整形表达式,case后的值必须是常量表达式,且必须是整型或者枚举类型。题目我简化过了,可能会看的比较奇怪,多见谅。好的分支循环运用,就是准确,而标准的调色。
2023-11-07 18:38:19
64
1
原创 C语言初学者笔记
控制语句:控制程序执行流程,实现程序各种结构方式,由特定语句定义字符组成,C语言有九种控制语句。转向语句:break语句,goto语句,continue语句,return语句;循环执行语句:do while语句,while语句,for语句;strlen—求字符长度函数(统计/0之前字符个数);空语句,表达式语句,函数调用语句,复合语句,控制语句。C语言支持三种结构:顺序结构,选择结构,循环结构;条件判断语句:if语句,switch语句;复合语句:为代码块,由多个{}构成。printf----输出函数;
2023-10-15 09:54:16
65
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅