39.1 概念 线程同步 是一个宏观概念,在微观上包含线程的相互排斥和线程先后执行的约束问题 解决同步方式 条件变量 线程信号量 线程互斥 线程执行的相互排斥 解决互斥的方式 互斥锁 读写锁 线程信号量 是一个宏观概念,在微观上包含线程的相互排斥和线程先后执行的约束问题 解决同步方式 条件变量 线程 ...
分类:
编程语言 时间:
2019-01-04 21:24:24
阅读次数:
242
一.线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 通过电影院卖票,演示线程的安全问题: 模拟电影院的卖票过程。本次电影的座位共100个(本场电影只能卖100张票)。模拟电影院的 ...
分类:
编程语言 时间:
2019-01-02 17:25:07
阅读次数:
229
volatile 一、 volatile修饰的变量具有内存可见性 volatile是变量修饰符,其修饰的变量具有内存可见性。 可见性 也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,可以立即获取修改之后的值。 在Java中为了加快 ...
分类:
编程语言 时间:
2019-01-02 12:24:59
阅读次数:
163
1、同步和异步的区别 a>同步会阻塞代码执行,异步不会 b>alert()是同步 setTimeout()是异步 2、关于setTimeout(); console.log(1); setTimeout(function() { console.log(2);}, 0); console.log(3 ...
分类:
编程语言 时间:
2018-12-27 19:03:40
阅读次数:
178
对象和封装类和对象使用对象的目地:用计算机语言描述现实世界用计算机语言解决现实世界的问题使用面向对象的好处:交流更加流畅提高设计和开发效率怎样实现面向对象编程找出类找出属性(变量)找出行为(方法)类图:“+”为public 公开的“-“为private私有的this关键字,是对一个对象的默认引用,用 ...
分类:
编程语言 时间:
2018-12-27 15:17:36
阅读次数:
191
阅读本篇之前推荐阅读以下姊妹篇: 《秒杀多线程第四篇一个经典的多线程同步问题》 《秒杀多线程第五篇经典线程同步关键段CS》 《秒杀多线程第六篇经典线程同步事件Event》 《秒杀多线程第七篇经典线程同步互斥量Mutex》 《秒杀多线程第八篇经典线程同步信号量Semaphore》 《秒杀多线程第九篇经 ...
分类:
编程语言 时间:
2018-12-24 11:16:16
阅读次数:
233
实验十七 线程同步控制 实验时间 2018-12-10 1、实验理论知识 多线程 多线程是进程执行过程中产生的多条执行线索。进程 线程是比进程执行更小的单位。线程不能独立存在,必须存在于进程中,同一进程的各线程间共享进程空间的数据。每个线程有它自身的产生、存在和消亡的过程, 是一个动态的概念。线程创 ...
分类:
编程语言 时间:
2018-12-23 16:45:57
阅读次数:
203
实验十七 线程同步控制 实验时间 2018-12-10 一、理论知识部分: ? 线程同步 (1)多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法,就只 能等待 (2)在Java中解决多线程同步问题的方法有两种: 解决方案一:锁对象与条件对象 用ReentrantLoc ...
分类:
编程语言 时间:
2018-12-23 15:30:29
阅读次数:
173
第一部分:理论知识学习部分 第14章 并发 线程同步 多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法,就只 能等待。 ? 在Java中解决多线程同步问题的方法有两种: 1.- Java SE 5.0中引入ReentrantLock类(P648页)。 2.- 在共享内 ...
分类:
编程语言 时间:
2018-12-23 15:29:50
阅读次数:
164
1、实验目的与要求 (1) 掌握线程同步的概念及实现技术; (2) 线程综合编程练习 2、实验内容和步骤 实验1:测试程序并进行代码注释。 测试程序1: l 在Elipse环境下调试教材651页程序14-7,结合程序运行结果理解程序; l 掌握利用锁对象和条件对象实现的多线程同步技术。 packag ...
分类:
编程语言 时间:
2018-12-23 15:27:56
阅读次数:
205