一、DLL简介
它是Dynamic Link Library 的缩写形式,DLL 是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL ...
分类:
其他好文 时间:
2016-05-12 23:00:43
阅读次数:
236
/*
多线程死锁问题。
*/
class Tacket implements Runnable //extends Thread
{
private static int sum=200;//sum是共享数据,放在堆内存中,所有线程访问这一个共享数据。在一个线程运行完之后,共享数据要被同步修改。
Object obj=new Object();
boolean flag=true;
pu...
分类:
编程语言 时间:
2016-05-12 20:51:25
阅读次数:
190
android培训——我的java笔记,期待与您交流!线程同步
多线程共享数据
在多线程操作中, 多个线程有可能同时处理同一个资源, 这就是多线程中的共享数据。 举个不太恰当的例子简单理解一下,图中是小新家的厕所茅坑,但是家里只有一个那这就是一个“资源”,那么家里的所有人都共享这同一个“资源”,也就是所谓的多线程共享数据
可以明显的看出多线程共享数据带来的问题,就是会造成数据的不确定性!就好...
分类:
编程语言 时间:
2016-05-12 13:23:14
阅读次数:
143
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。
四、可重入锁:
本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。
...
分类:
编程语言 时间:
2016-05-12 13:15:23
阅读次数:
156
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例 如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PR ...
分类:
编程语言 时间:
2016-05-10 23:12:40
阅读次数:
169
线程安全函数概念:线程安全的概念比较直观。一般说来,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。线程安全指的是多线程并发执行时,能够得到正确的结果,这里强调的是并发性,确保线程安全的措施是:线程安全函数不使用共享数据..
分类:
编程语言 时间:
2016-05-07 01:15:35
阅读次数:
189
DNS简介:DNS是DomainNameSystem的缩写,即“域名系统”,其是一个分布式数据库,也就是说每个DNS只保存属于自己的数据,但是一旦有所需要的时候,大家可以自动合作,并且共享数据。DNS功能:(1)实现主机名和IP地址的查询,也就是实现主机名和IP之间的名称解析的,因此就有两..
分类:
其他好文 时间:
2016-05-06 16:30:15
阅读次数:
467
线程安全:如果多线程同时运行同一代码块的结果每次都和单线程运行的结果一样,则就是线程安全的◆线程不安全的本质原因是资源共享。所以不使用任何共享数据的线程是安全的◆使用全局变量的函数是非线程安全的。◆使用静态数据或其他共享资源的函数,必须通过加锁的方式来使函..
分类:
编程语言 时间:
2016-05-06 02:31:20
阅读次数:
214
读方法,加读锁 写方法,加写锁。 共享数据: 测试: ...
分类:
其他好文 时间:
2016-05-05 14:29:24
阅读次数:
125
在研究c# 线程之间通信时,发现传统的方法大概有三种 ①全局变量,由于同一进程下的多个进程之间共享数据空间,所以使用全局变量是最简单的方法,但要记住使用volatile进行限制。 ②线程之间发送消息(这个随后文章中会讨论到)。 ③ CEvent为MFC中的一个对象,可以通过对CEvent的触发状态进 ...
分类:
编程语言 时间:
2016-05-05 14:19:51
阅读次数:
166