1.Java 中多线程同步是什么? 在多线程程序下,同步能实现控制对共享资源的访问。如果没有同步,当一个 Java 线程在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。2.解释实现多线程的几种方法? 1> Java 线程可以实现 Runnable 接口:...
分类:
编程语言 时间:
2015-08-17 21:19:13
阅读次数:
229
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
面向对象(static静态应用)
1、面向对象(static静态什么时候使用)
静态什么时候使用
要从两方面下手:
它修饰的内容有成员变量和函数。
什么时候定义静态变量?
当对象出现共享数据时(共享值,name是共享变量,country中”CN”是值...
分类:
其他好文 时间:
2015-08-16 09:29:03
阅读次数:
166
学习多线程之前,我觉得很有必要去学习下
[笔记][思维导图]读深入理解JAVA内存模型整理的思维导图基础知识
锁除了让临界区互斥执行外,
还可以让释放锁的线程向获取同一个锁的线程发送消息
当线程获取锁时,JMM会把该线程对应的本地内存置为无效。
从而使得监视器保护的临界区代码必须要从主内存中去读取共享变量。
当线程释放锁时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存中。
在同一个类...
分类:
编程语言 时间:
2015-08-08 13:36:20
阅读次数:
199
场景:
1. 有时候需要使用vector 或 map作为多线程的共享变量, map是tree结构, 读和写方法都不是线程安全的, 即同时读写会有崩溃的现象.
2. std::vector直观来说只用push_back和[] 下标访问操作应该没问题,push_back往后边加对象, 索引值只访问已经存储的变量(预先求size).注意, 这里不会删除vector元素.
可惜,这种多线程操作还是会崩溃....
分类:
编程语言 时间:
2015-08-07 19:49:24
阅读次数:
226
volatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。下面我们通过具体的示例来说明,请看下面的示例代码:class Volatil...
分类:
编程语言 时间:
2015-08-02 13:11:52
阅读次数:
132
本文试图向大家解释清楚JMM及其抽象模型,但不仅仅是一个介绍,更希望能讲清楚JMM内存模型抽象的原因。
一、JMM的概念;
二、JMM的抽象将内存内存模型分成线程私有的本地内存和所有线程共享的主存;
三、JMM抽象模型造成了并发编程中共享变量的内存可见性问题,为什么会造成?选择这样的抽象模型有什么好处?有什么样的方法来处理这个问题?...
分类:
编程语言 时间:
2015-07-18 14:12:09
阅读次数:
150
本文摘自《深入理解计算机系统》 并发编程章节。
对于多线程编程最棘手的部分为共享变量的并发访问,那么就需要了解在编程中那些为共享变量。这就涉及到线程存储模型。
每个线程都有它自己的线程上下文.线程上下文包括:
线程ID,栈,栈指针,程序计数器,条件码和通用寄存器的值。
多个线程在进程中共享如下部分:
虚拟地址空间,只读代码块,读、写数据,堆,打开的文件集合。
寄...
分类:
编程语言 时间:
2015-07-12 19:00:24
阅读次数:
208
1 import java.util.HashMap; 2 import java.util.Map; 3 import java.util.Random; 4 5 /******************************* 6 * 模拟ThrealLocal的实现 7 * 用处: 8...
分类:
编程语言 时间:
2015-07-10 12:58:26
阅读次数:
135
[MethodImplAttribute(MethodImplOptions.Synchronized)]此标记可用于方法,将一个方法标记为单线程进入,但在多个实例的时候仍有可能导致问题,比较有共享静态变量的多个实例类,方法中有用到这个静态共享变量;
分类:
编程语言 时间:
2015-07-08 14:15:32
阅读次数:
225
通过直接继承Thread, 实现Runnable接口来创建线程。但这两种方式都有一种缺陷:在执行完任务之后无法获得执行结果。 如果需要获得执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来比较麻烦,而jdk中Callable和Future,通过他们可以在任务执行完毕...
分类:
其他好文 时间:
2015-06-30 08:58:55
阅读次数:
170