1.多线程访问的共享资源存在线程安全问题, 无外乎访问两种共享资源。 1)多线程访问方法区数据。存在线程安全问题,通过加锁 2)多线程访问实例变量:被访问对象是单例时存在线程安全,被访问对象是多例时,是线程安全的。 来说说静态变量、实例变量、局部变量在多线程下的安全问题吧! (一)验证静态变量的线程 ...
分类:
编程语言 时间:
2016-09-22 17:00:03
阅读次数:
155
1.Python多线程、多进程 目的提高并发 1.一个应用程序,可以有多进程和多线程 2.默认:单进程,单线程 3.单进程,多线程 IO操作,不占用CPU python的多线程:IO操作,多线程提供并发 计算性操作 多进程提高并发 4.GIL,全局解释器锁 总结: 多进程,多线程,提供并发 IO密集 ...
分类:
编程语言 时间:
2016-09-22 13:15:15
阅读次数:
419
一、细说Java多线程之内存可见性(数据挣用) 1、共享变量在线程间的可见性 共享变量:如果一个变量在多个线程的工作内存中都存在副本, 那么这个变量就是这几个线程的共享变量 可见性:一个线程对共享变量值的修改,能够及时的被其他线程看到 Java内存模型(JMM,Java Memory Model): ...
分类:
编程语言 时间:
2016-09-22 10:06:45
阅读次数:
159
1. 进程和线程的概念 进程是程序的一次执行,线程是进程中执行的一段程序片段。 进程间是独立的,占用地址空间,上下文环境,线程运行在进程地址空间内。 进程间通过IPC技术进行共享,同一进程下的线程天然共享同一进程地址空间。 同一进程的代码不能同步执行,除非引入线程。 进程退出时线程都要销毁。 2. ...
分类:
编程语言 时间:
2016-09-22 10:04:31
阅读次数:
150
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/ 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出 ...
分类:
编程语言 时间:
2016-09-22 01:06:56
阅读次数:
241
1.并发编程的基础 1.1 线程 -进程/优先级 操作系统调度的最小单元是线程,线程是轻量级进程。 线程优先级由setPriority(int)方法来设置,默认优先级是5,等级1~10.等级越高分的时间片越多。 1.2 线程的状态 new 初始化 》》Runable 运行》》Blocked阻塞 》》 ...
分类:
编程语言 时间:
2016-09-22 01:01:38
阅读次数:
197
SingleThreadedExecutio
同时只允许一个线程使用资源。
多线程共享一个资源,仅允许获得了资源锁的线程对资源的访问,避免多线程访问资源造成冲突。
适用环境
多线程争用资源,资源状态(这里的状态指资源对象的属性)可被占用线程变更,需要确保..
分类:
编程语言 时间:
2016-09-21 23:37:42
阅读次数:
192
1、什么是MPM?Multi-ProcessingModule(MPM)implementsahybridmulti-processmulti-threadedserver。(多进程、多线程)2、有多少种MPM?大致有:preforkMPM、workerMPM、BeOSMPM、NetWareMPM、OS/2MPM、WinNTMPM。3、怎么知道apache当前用的是哪个MPM?linux及windows下都可以..
分类:
Web程序 时间:
2016-09-21 16:25:05
阅读次数:
248
1、首先为何要指令重排序(instruction reordering)? 编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。 也就是说,对于下面两条语句: int a = 10; int b = 20; 在计算机执行上面两句话的时候,有可能第二条语句会先于第一条语句执行。 ...
分类:
编程语言 时间:
2016-09-21 15:47:54
阅读次数:
155
使用线程时最头痛的就是共享资源的同步问题,处理不好会得到错误的结果,C#处理共享资源有以下几种: 1、lock锁 2、Mutex类 3、semaphore 其中lock 和mutex 差不多,都是锁定同一个资源,不同之处mutex在整个进程中都可以访问到。 semaphore是锁定多个资源,比如同一 ...
分类:
编程语言 时间:
2016-09-21 14:34:24
阅读次数:
135