- 博客(4)
- 收藏
- 关注
原创 34-多线程--死锁+线程间通信+等待唤醒机制+多生产者多消费者问题
一、死锁 1、死锁的常见情形之一:同步的嵌套 说明:同步的嵌套,至少得有两个锁,且第一个锁中有第二个锁,第二个锁中有第一个锁。eg:同步代码块中有同步函数,同步函数中有同步代码块。下面的例子,同步代码块的锁是obj,同步函数的锁是this。t1线程先执行同步代码块,获取锁obj,需要锁this才能执行同步函数;而t2线程先执行同步函数,获取锁this,需要锁obj才能执行同步代码块。两个线程相...
2018-10-31 17:00:09 145
原创 33-多线程--卖票示例+线程安全(产生原因+解决方式:同步)+同步(同步代码块+同步的好处与弊端+同步的前提+同步函数+卖票示例的同步函数写法+验证同步函数的锁+验证静态同步函数的锁)
一、卖票示例 需求:四个窗口,同时售卖100张票,票号为1-100 1、没有多线程时的卖票代码 class Ticket { //100张票 private int num = 100; public void sale() { //无限循环,没有写break while (true) { if (...
2018-10-28 21:16:09 282
原创 32-多线程--概述+Thread类+多线程的创建方式(继承Thread类+实现Runnable接口)+Runnable接口+线程的名称+线程的状态
一、概述 1、进程:对应的是一个应用程序在内存中的所属空间。进程是不直接执行的,它只是在分配该应用程序的内存空间 注: (1)如果一个程序在内存中开辟了空间,就代表它在运行。不运行要释放空间 (2)关于进程 a). 进程是程序(任务)的执行过程 -- 动态性 b). 进程持有资源(共享内存、共享线程)和线程 -- 载体 c). 线程是系统中最小的执行单元,线程共享进程的资源 2、线...
2018-10-26 10:19:42 470
原创 31-JDK5.0特性(foreach循环+函数的可变参数+静态导入)
一、foreach循环 1、foreach语句:增强型的for循环 2、foreach语句的格式: for(类型 变量名 : 单列集合或数组){ ... } /** * 遍历集合 */ List<String> list = new ArrayList<String>(); ...
2018-10-04 15:32:36 169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人