Java子线程中操作主线程Private级别数据
两个类分别如下:
-
<pre name="code" class="java">package Demo2;
-
-
import java.util.*;
-
class Demo2
-
{
-
private static ArrayList<String> a = new ArrayList<String>();
-
public static void main(String[] args)
-
{
-
a.add("String0");
-
threadDemo2 thread1 = new threadDemo2(a);
-
new Thread(thread1).start();
-
for(int i = 0;i<500; i++){
-
for(int j = 0;j<500; j++)
-
;
-
}
-
for(String string : a)
-
{
-
sop(string);
-
}
-
}
-
-
public static void sop(Object obj)
-
{
-
System.out.println(obj);
-
}
-
}
-
package Demo2;
-
import java.util.*;
-
-
class threadDemo2 implements Runnable
-
{
-
private ArrayList<String> b;
-
threadDemo2(ArrayList<String> a){
-
this.b = a;
-
}
-
-
public void run()
-
{
-
b.add("String");
-
-
}
-
-
public static void sop(Object obj)
-
{
-
System.out.println(obj);
-
}
-
}
主函数中输出结果为:
String0
String
也就是在子线程中获得了ArrayList a 的地址,并对地址内的值进行了操作。
Java子线程中操作主线程Private级别数据的更多相关文章
- Android中进程与线程及如何在子线程中操作UI线程
1. Android进程 一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程.这个线程也是你的应用与界面工具包(android.widget和android.view ...
- 在C#中子线程如何操作主窗口线程上的控件
在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件 ...
- Java子父类中的构造函数实例化过程
其实我们发现子类继承父类操作很简单,如果要是去深入的研究下会发现,实例化过程并非是我们看到的那样,我们就以代码举例来说明: 问大家,以下代码执行会输出什么呢? package com.oop; /** ...
- Android——子线程操作主线程
子线程不能直接操作主线程 UI线程 //水平进度条 public void jdt1_onclick(View view) { final ProgressDialog pd = new Progre ...
- C#子线程中更新主线程UI-----注意项
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- MFC线程内操作主窗体 控件
CWnd* h_d2 = AfxGetApp()->GetMainWnd(); //获取主窗口的句柄 h_d2-> GetDlgItem(IDC_EDIT2)->GetWindowT ...
- java 子接口中定义与父接口相同的方法
今天碰到一个很有意思的问题,在java中如果子接口中定义了与父接口中已经有的方法会发生什么事情呢?比如: interface IRunnable extends Runnable{ void run( ...
- C#定义委托函数实现在别的窗体中操作主窗体中的SerialPort控件
1.在主窗体(含有serialPort的窗体)中 //先定义委托 public delegate void OpenPort(); public delegate void ClosePort(); ...
- C# 类中操作主窗体控件
主窗体程序: using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...
随机推荐
- 如何删除windows中运行的历史记录
参照下图进入到注册表,依次打开红圈中的路径,在RunMRU里面列出来的全部是记录,全部删除即可
- Log4j配置文件详解及实例
1 ) . 配置根 Logger ,其语法为: log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中, level 是日 ...
- web框架开发-Django组件cookie与session
http协议的每一次都是无保存状态的请求,这会带来很多的不方便,比如,一刷新网页,或者进入该网页的其他页面,无法保存之前的登录状态.为了解决类似这样的问题,引入了会话跟踪 会话跟踪技术 1 什么是会话 ...
- day 14 递归、匿名函数、内置函数
三目运算符 # 三目(元)运算符:就是 if...else...语法糖# 前提:简化if...else...结构,且两个分支有且只有一条语句# 注:三元运算符的结果不一定要与条件直接性关系cmd = ...
- Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)
Doc ID 1476663.1) To Bottom In this Document Purpose Troubleshooting Steps Brief Definition: ...
- Nero8刻录引导系统光盘镜像图文教程
刻录可引导的Windows系统光盘一直是电脑使用者较为需要的,今天,倡萌抽空写了这篇图文教程,希望对于菜鸟级的朋友有所帮助,大虾请飘过.本教程以最为强大的刻录软件Nero 8做为工具(其他版本的Ner ...
- AI MobileNet
MobileNet,是针对移动和嵌入式设备的一类高效模型,基于流线型(streamlined)架构,使用深度可分离卷积(depthwise separable convolution)来构建轻量级深度 ...
- Spring Cloud:统一异常处理
在启动应用时会发现在控制台打印的日志中出现了两个路径为 {[/error]} 的访问地址,当系统中发送异常错误时,Spring Boot 会根据请求方式分别跳转到以 JSON 格式或以界面显示的 /e ...
- 【区块链】【一】Hash 算法【转】
问题导读1.哈希算法在区块链的作用是什么?2.什么是哈希算法?3.哈希算法是否可逆?4.比特币采用的是什么哈希算法? 作用在学习哈希算法前,我们需要知道哈希在区块链的作用哈希算法的作用如下:区块链通过 ...
- Golang 入门系列(六)理解Go中的协程(Goroutine)
前面讲的都是一些Go 语言的基础知识,感兴趣的朋友可以先看看之前的文章.https://www.cnblogs.com/zhangweizhong/category/1275863.html. 今天就 ...