- 浏览: 216124 次
- 性别:
- 来自: 北京
文章分类
实现数据在多线程之间的共享:
因为线程的成员变量是各个该线程实例之间是共享的,所以可以将开变量放到实现Runnable接口的实现类中。充当成员变量。这样可以使用同一个Runnable创建多个线程。据说买票系统就是这么做的。(这种是线程的代码相同,所以才考虑使用同一个Runnable的)
如果必须要使用不同的线程,可以将变量封装成负责对象传入到不同是线程中充当成员变量。
当然也可以考虑使用内部类的方式实现线程之间的数据共享,即将共享数据定义成外部类的成员变量,而将操作线程定义成不同的内部类,这样内部线程类就可以操作外部共享数据了
因为线程的成员变量是各个该线程实例之间是共享的,所以可以将开变量放到实现Runnable接口的实现类中。充当成员变量。这样可以使用同一个Runnable创建多个线程。据说买票系统就是这么做的。(这种是线程的代码相同,所以才考虑使用同一个Runnable的)
如果必须要使用不同的线程,可以将变量封装成负责对象传入到不同是线程中充当成员变量。
当然也可以考虑使用内部类的方式实现线程之间的数据共享,即将共享数据定义成外部类的成员变量,而将操作线程定义成不同的内部类,这样内部线程类就可以操作外部共享数据了
发表评论
-
JVM启动时指定-Dfile.encoding="UTF8"的作用
2013-10-17 13:50 2391简单来说就是指定JVM默认的编码方式 java io中很多方法 ... -
java多线程 小记
2012-04-15 14:49 0thread join的方法 http://blog.csdn ... -
浅析多线程
2012-04-08 22:35 0线程组 线程是被 ... -
多线程意外中断处理
2012-04-08 20:54 0本文转自:http://peirenlei.iteye.com ... -
多线程项目学习
2012-04-08 20:35 0线程组的作用: ThreadGroup类中的某些方法,可以对线 ... -
java 静态成员变量的内存分配
2012-04-06 10:28 0静态成员变量是属于类变量,即当JVM加载class文件到虚拟机 ... -
深度克隆与浅克隆
2012-04-05 16:31 1173要想实现某个对象的克隆需要该对象实现java.lang.Clo ... -
修改图片大小并添加水印
2012-03-29 13:47 1321import java.awt.*; import java. ... -
JVM的内存分配
2012-03-16 10:06 0Java里的堆(heap)栈(stack)和方法区(metho ... -
HashMap添加数据的过程
2012-03-14 22:18 7133当添加的元素的key为null ... -
几种classloader的加载范围
2012-02-28 12:43 1359Bootstrap class loader:最顶级的clas ... -
利用正则表达式获取网页中多处重复出现的标签数据
2012-02-21 11:21 2737public static void main(String[ ... -
标准的URLConnection请求
2012-01-13 16:39 0只写了主要的代码 URL url = new URL(urlS ... -
常用的ClassLoader的加载范围
2012-01-13 13:53 1432WebAppClassLoader装载器装作文件的范围: 会加 ... -
ClassLoader.getSystemClassLoader().loadClass()和Class.forName()的区别
2012-01-13 13:08 0class A { static { System.ou ... -
httpClient超时解决办法
2012-01-12 16:47 0DefaultHttpClient: 请求超时 httpcli ... -
ThreadLocal
2012-01-10 08:55 1444ThreadLocal是实现线程范围内的数据共享,即不同线程获 ... -
线程加锁优化
2012-01-08 13:19 0实际上,在某些classes中,这种instance方法的同步 ... -
实现多线程使用继承Thread类和Runnable的原因
2012-01-03 15:09 1402我们都知道实现多线程的两种方式,一种是继承Thread类,另一 ... -
一个简单的socket编程实例
2011-12-28 10:50 1633转正于http://www.cnblogs.com/linzh ...
相关推荐
在Windows环境下部署Apache Tomcat服务器是一项常见的任务,尤其对于开发和测试环境来说。在这个过程中,可能会遇到各种问题,本文...通过熟练掌握这些步骤和技巧,可以更高效地在Windows环境中部署和管理Tomcat项目。
总的来说,这个项目涵盖了Spring框架的核心应用、MyBatis的使用技巧以及Lombok的最佳实践。通过阅读和学习这个项目的源代码,开发者不仅可以加深对这两个框架的理解,还能了解到如何在实际项目中有效地整合它们,...
“源码”标签可能意味着文章会讨论在Ubuntu中编译和管理源代码的方法,比如使用Git仓库获取项目源码,使用GCC或Clang进行编译,或者配置开发环境。而“工具”标签则可能涵盖了在Ubuntu系统中常用的命令行工具,如apt...
通过阅读和分析这个博客文章,开发者可以获得关于如何在实际项目中结合Flex和J2EE的宝贵经验,包括架构设计、代码实现、调试技巧以及可能遇到的挑战和解决方法。同时,源码下载可以帮助读者直接动手实践,加深理解。
【标题】"小记账本源码"是一个基于Delphi 7(简称D7)开发的个人财务记账软件。Delphi是Borland公司推出的一款面向对象的可视化编程工具,以其高效的编译器和易用的IDE而受到开发者欢迎,尤其在Windows平台上的桌面...
博客链接 "https://alex-cheung.iteye.com/blog/1819011" 可能提供了更具体的SQL使用技巧、案例分析或常见问题解答,例如优化查询性能、处理NULL值、使用窗口函数等。文件名 "01.sql" 提示可能包含一个示例SQL脚本,...
根据给定文件的信息,我们可以从中提炼出与Word模板制作及使用相关的知识点,虽然原文件内容并未涉及具体的Word操作技巧或细节,但我们可以基于文件标题、描述以及可能的应用场景来展开讨论。 ### Word模板概述 ##...
为了能够在 Visual C++ 应用程序中使用 ADO 访问 SQL Server2005 数据库,首先需要进行必要的环境搭建及配置工作。具体步骤如下: 1. **引入 ADO 类库**:在项目的预编译头文件(通常是 stdafx.h 或者 precompiled ...
本主题将深入探讨VB控件的制作过程、相关工具以及如何在项目中使用自定义控件。 1. **VB控件类型**:在VB中,控件分为标准控件(如按钮、文本框、标签等)和ActiveX控件。标准控件直接由VB提供,而ActiveX控件则更...
- **实例**:使用项目符号列表代替段落,突出重点。 #### 3.2 图表运用 - **技巧**:合理运用图表,直观展现数据变化。 - **实例**:通过柱状图展示销售业绩的增长趋势。 #### 3.3 色彩搭配 - **技巧**:使用统一...
【VB聊天程序】是一款使用Visual Basic (VB) 开发的简单聊天工具,它允许用户通过网络进行实时的信息交流。...通过这个项目,开发者可以深入学习到如何在实际环境中应用VB技术,以及如何构建一个完整的网络聊天应用。
掌握Flash播放器的源码可以为开发者提供一个宝贵的参考资料,帮助他们了解过去的技术是如何工作的,同时也可以作为一个起点,用于开发自定义的Flash播放器或者将Flash技术应用于新的项目中。尽管Flash已不再是主流,...
1. **SystemTray 对象**:在VB6中,我们使用`Shell_NotifyIcon` API函数来操作系统托盘。`Shell_NotifyIcon` 是Windows API的一部分,用于向任务栏通知区域添加、修改或删除图标。VB中的SystemTray对象通常是通过...
MySQL Community Server 8.0.20 是一个广泛使用的开源关系型数据库管理系统,适用于各种规模的应用,从小型项目到大型企业级系统。该版本专为macOS 10.15(Catalina)设计,提供了64位的兼容性,确保在苹果操作系统...