- 博客(5)
- 收藏
- 关注
原创 Java 交替输出两个线程,打印0-100的奇偶数
当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此,子类的方法也就相当于同步了。与wait()方法不同,执行notify()后,不会立即释放对象锁,而需要执行完synchronized的代码块或方法才会释放锁,所以接收通知的线程也不会立即获得锁,也需要等待执行notify()方法的线程释放锁后再获取锁。调用notify()方法后,会通知一个执行了wait()方法的阻塞等待线程,使该等待线程重新获得取到对象锁,然后继续执行wait()后面的代码。
2024-08-30 10:01:15 816
原创 Android 实现Dialog自定义弹窗功能
在Android应用开发过程中,弹窗是一个常用的UI组件,可以用来显示一些提示、警告或者用户交互的内容。Android提供了一些默认的弹窗,比如AlertDialog,但是有时候我们需要自定义弹窗来满足特定的需求。本文将介绍如何在Android中自定义弹窗,并提供一个简单的代码示例。接下来,在你的 Activity 或 Fragment 中创建并显示这个自定义弹窗。通过这种方式,你可以在不同的状态下显示不同的弹窗内容和操作选项,满足的需求。首先,创建一个 XML 文件,用于定义弹窗的布局。
2024-08-29 17:49:55 667
原创 Fragment学习总结
用来组建Activity界面的局部模块, 也可以说一个Actiivty界面可以由多个Fragment组成其行为与Activity很相似, 有自己对应的布局(包含具体的View), 它有自己的生命周期,接收自己的输入事件,并且可以从运行中的activity中添加或移除一个fragment必须总是嵌入在一个activity中,同时fragment的生命周期受activity的影响本质上会产生一个FrameLayout,它加载的布局为其子布局优势:模块化:我们不必把所有代码全部写在Activity中,而是把代码写
2024-03-05 08:09:27 516
原创 释放锁时的不同情况
Java 提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率。与wait()方法不同,执行notify()后,不会立即释放对象锁,而需要执行完synchronized的代码块或方法才会释放锁,所以接收通知的线程也不会立即获得锁,也需要等待执行notify()方法的线程释放锁后再获取锁。多个线程去获取锁的时候,会直接去尝试获取,获取不到,再去进入等待队列,如果能获取到,就直接获取到锁。
2024-01-31 19:35:14 1118 1
原创 交替输出两个线程,并显示执行次数
当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此,子类的方法也就相当于同步了。与wait()方法不同,执行notify()后,不会立即释放对象锁,而需要执行完synchronized的代码块或方法才会释放锁,所以接收通知的线程也不会立即获得锁,也需要等待执行notify()方法的线程释放锁后再获取锁。修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象。
2024-01-31 17:14:19 1482 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人