synchronized是Java中的关键字,在并发编程中被称为内置锁或者监视器锁。当用它来修饰一个方法或者一个代码块的时候能够保证同一时刻最多只有一个线程执行该段代码。 Java的内置锁相当于一种互斥锁,最多只有一个线程能够持有这种锁,故而由这个锁保护的同步代码块会以原子方式执行,多个线程在执行该 ...
分类:
编程语言 时间:
2017-05-16 17:25:57
阅读次数:
133
一、同步(Synchronous)和异步(Asynchronous) 同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中 ...
分类:
编程语言 时间:
2017-05-14 01:18:01
阅读次数:
252
虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。 一.什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而 ...
分类:
编程语言 时间:
2017-05-11 01:01:32
阅读次数:
251
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容。 2. 书面作业 本次PTA作业题集多线程 Q1.互斥访问与同步访问 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访问(请出现相关代码)? 1.2 同步代码块与同步方法有 ...
分类:
编程语言 时间:
2017-05-06 21:48:24
阅读次数:
217
201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问) 1.2 同步代码块与同步方法有何区别? 1.3 实现互斥访问的原理是什么?请使用对象锁概念并结合相应的代码块 ...
分类:
编程语言 时间:
2017-05-06 20:50:50
阅读次数:
147
1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问)1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访问(请出现相关代码)? 答: 1.2 同步代码块与同步方法有何区别? 答:同步方法 ...
分类:
编程语言 时间:
2017-05-06 20:45:16
阅读次数:
234
概念: 进程是操作系统对一个正在运行的程序的一种抽象(处理器,主存,I/O设备),进程是并发的 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。线程是并行的 线程的特性: 1.线程的执行顺序由操作系统来决定 2.状态: 1.Unstarted 就是Thread实例化了,但是又没有调用Sta ...
分类:
编程语言 时间:
2017-05-06 13:17:28
阅读次数:
163
用什么关键字修饰同步方法 ? 用synchronized关键字修饰同步方法 同步有几种实现方法,都是什么?分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调 ...
分类:
编程语言 时间:
2017-05-06 10:10:33
阅读次数:
169
synchronized实现同步的基础:java中每个对象都可以作为锁,如下: 对于普通同步方法,锁是当前实例对象 对于静态同步方法,锁是当前类的Class对象 对于同步方法块,锁是synchronized括号里配置的对象 当一个线程试图访问同步代码块时,它首先必须得到锁,退出或者抛出异常时必须释放 ...
分类:
其他好文 时间:
2017-04-27 00:29:54
阅读次数:
160
多线程程序在较低的层次上扩展了多任务的概念:一个程序同时执行多个任务,通常每个任务称为一个线程(thread),他是线程控制的简称,可以同时运行一个以上线程的程序称为多线程程序(multithreaded);多线程和多进程有哪些区别呢,本质的区别在于每个进程拥有自己的一整套变量,而线程则是共享数据,... ...
分类:
编程语言 时间:
2017-04-25 23:38:10
阅读次数:
378