两个类分别如下:


  1. <pre name="code" class="java">package Demo2;
  2. import java.util.*;
  3. class Demo2
  4. {
  5. private static ArrayList<String> a = new ArrayList<String>();
  6. public static void main(String[] args)
  7. {
  8. a.add("String0");
  9. threadDemo2 thread1 = new threadDemo2(a);
  10. new Thread(thread1).start();
  11. for(int i = 0;i<500; i++){
  12. for(int j = 0;j<500; j++)
  13. ;
  14. }
  15. for(String string : a)
  16. {
  17. sop(string);
  18. }
  19. }
  20. public static void sop(Object obj)
  21. {
  22. System.out.println(obj);
  23. }
  24. }



  1. package Demo2;
  2. import java.util.*;
  3. class threadDemo2 implements Runnable
  4. {
  5. private ArrayList<String> b;
  6. threadDemo2(ArrayList<String> a){
  7. this.b = a;
  8. }
  9. public void run()
  10. {
  11. b.add("String");
  12. }
  13. public static void sop(Object obj)
  14. {
  15. System.out.println(obj);
  16. }
  17. }

主函数中输出结果为:

String0

String

也就是在子线程中获得了ArrayList a 的地址,并对地址内的值进行了操作。

Java子线程中操作主线程Private级别数据的更多相关文章

  1. Android中进程与线程及如何在子线程中操作UI线程

    1. Android进程 一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程.这个线程也是你的应用与界面工具包(android.widget和android.view ...

  2. 在C#中子线程如何操作主窗口线程上的控件

    在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件 ...

  3. Java子父类中的构造函数实例化过程

    其实我们发现子类继承父类操作很简单,如果要是去深入的研究下会发现,实例化过程并非是我们看到的那样,我们就以代码举例来说明: 问大家,以下代码执行会输出什么呢? package com.oop; /** ...

  4. Android——子线程操作主线程

    子线程不能直接操作主线程 UI线程 //水平进度条 public void jdt1_onclick(View view) { final ProgressDialog pd = new Progre ...

  5. C#子线程中更新主线程UI-----注意项

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  6. MFC线程内操作主窗体 控件

    CWnd* h_d2 = AfxGetApp()->GetMainWnd(); //获取主窗口的句柄 h_d2-> GetDlgItem(IDC_EDIT2)->GetWindowT ...

  7. java 子接口中定义与父接口相同的方法

    今天碰到一个很有意思的问题,在java中如果子接口中定义了与父接口中已经有的方法会发生什么事情呢?比如: interface IRunnable extends Runnable{ void run( ...

  8. C#定义委托函数实现在别的窗体中操作主窗体中的SerialPort控件

    1.在主窗体(含有serialPort的窗体)中 //先定义委托 public delegate void OpenPort(); public delegate void ClosePort(); ...

  9. C# 类中操作主窗体控件

    主窗体程序: using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...

随机推荐

  1. 5.4Python数据处理篇之Sympy系列(四)---微积分

    目录 目录 前言 (一)求导数-diff() 1.一阶求导-diff() 2.多阶求导-diff() 3.求偏导数-diff() (二)求积分-integrate() (三)求极限-limit() ( ...

  2. 如何删除windows中运行的历史记录

    参照下图进入到注册表,依次打开红圈中的路径,在RunMRU里面列出来的全部是记录,全部删除即可

  3. KAPTCHA验证码使用步骤

    使用kaptcha可以方便的配置: · 验证码的字体 · 验证码字体的大小 · 验证码字体的字体颜色 · 验证码内容的范围(数字,字母,中文汉字!) · 验证码图片的大小,边框,边框粗细,边框颜色 · ...

  4. 【Python 10】汇率兑换3.0(while循环)

    1.案例描述 设计一个汇率换算程序,其功能是将美元换算成人民币,或者相反. 2.0增加功能:根据输入判断是人民币还是美元,进行相应的转换计算 3.0增加功能:程序可以一直运行,知道用户选择退出 2.案 ...

  5. 【Python 09】汇率兑换2.0-2(分支语句)

    分支语句:根据判断条件选择程序执行路径 1.使用方法 if <条件1>: <语句块1> elif <条件2>: <语句块2> ... else: < ...

  6. linux 基础(一)

    最近公司涉及到自动化部署的问题,本人见识了后端使用linux命令niu的飞起,一直听说linux,今天开始研究研究linux 首先是下载: 1.要先安装虚拟机2.再安装Ubuntu虚拟机 需要下载Ub ...

  7. 替换空格[by Python]

    题目: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 1.使用python自带的repla ...

  8. 0.[Andriod]之从零安装配置Android Studio并编写第一个Android App

    0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装 ...

  9. Pandas 把数据写入csv

    Pandas 把数据写入csv from sklearn import datasets import pandas as pd iris = datasets.load_iris() iris_X ...

  10. 分治FFT的三种含义

    分治FFT是几个算法的统称.它们之间并无关联. 分治多项式乘法 问题如求\(\prod_{i=1}^na_ix+b\). 若挨个乘复杂度为\(O(n^2\log n)\),可分治做这件事,复杂度为\( ...