java 在一个类中定义一个线程,这个线程可以对着各类中的对象进行操作

假设定义了一个A类,这个A类中有一个Jtextarea B, 定义的新线程为C。现在开启了主线程,在开启C线程,这个C线程就是相对主线程当中的B进行操作

1
扫码支付0.1元 ×
其他相关推荐
多线程下操作同一个类全局变量
当一个类的全局变量在多线程情况下是如何改变 1.当两个线程调用不同的tickt类对象时,通过结果看程序互不影响 2,当调用同一个类对象时 其中一个线程应该是输出99的,但是还是读取到了另外一个线程改变的数据,但是运行多次都会有一个98,说明多个线程调用同一个类对象,会对全局变量有影响
关于java多线程中同步的问题(两个线程访问同一个实例类的两个同步方法,会不会互相影响)
      题目有点长,不知道大家能不能明白!      首先得出的结论是:               它们是互相影响的,因为在一个实例类中同步方法锁定的是该实例类对象,因此会互相影响.        下面是我做的一个测试:              (1)创建一个实例类:                          package com.lenove.testThread;      
一个线程进入一个对象的一个synchronized方法,其他线程是否还可以进入该对象的其他方法...
基本的线程同步块 只是使用对象 不存在你说的什么类锁(这里 先不讨论JDK1.5的同步工具包里面的那个Lock 就说synchronized 块) static同步方法是用的是当前类的Class对象(java.lang.Class 这个对象在做反射的时候) 也就是说 --------------------------------- 一种是对象锁,类A中同步块和f1(),共用对象锁,所以...
多线程对同一个类操作时注意的问题
今天看到一段很有意思的小程序,讲述了线程之间调用同一个类属性的例子: 线程1: public class MyThreadClass1 implements Runnable { public void run() { Temp SSA = new Temp(); System.out.println("第一个------>" + SSA.ss); } public stat
java 多线程操作同一个变量
例子,假设是个卖票系统,多个线程(例子中有2个线程)操作同一个变量ticketCount(余票的数量)。 Expected : 多个线程对同个变量会同步操作,不会造成混乱。   public class Test implements Runnable {  private String threadName;  private int ticketCount;  public Tes
创建一个线程函数为类的成员的线程,没有对象,但是又要用到类里面的其他变量。
                                     创建一个线程,这个线程需要用到类成员变量 如果我们简单的使用静态变量,相当于全局变量,可以调用这个函数最为线程函数,但是在函数内部我们无法使用其他类的成员。 如果不定义静态变量有无法创建这个线程。 解决方法: (线程是在类里面的函数中创建) 1创建一个线程,线程函数为类public成员,参数设置为this。 hT...
使用多线程对一个属性进行操作
public class Account implements Runnable { private int money=1000;//定义一个int类型的变量, public int getMoney() { return money; } public void setMoney(int money) { this.money...
Java线程:线程的同步与锁 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对
Java线程:线程的同步与锁       一、同步问题提出   线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。   public class Foo {      private int x = 100;   
Java类和线程的关系理解
    这种理解,如果代码写得多,思考得多,就会有自己的一套理解方式,而正确的理解往往都是相同的,不对的理解千奇百怪。在Java中,线程以类的形式展现给编程人员,所以编程人员可以通过类来创建线程,而线程执行又需要有类的方法作为执行代码,两者相互联系又相互独立。实际上线程是操作系统层次提供的能力,任何编程语言都是封装和使用操作系统提供的这种能力,Java也不例外,Java中,一切都是对象,线程也是以...
在多线程中,A类有一个静态成员变量,如果A类在运行期间修改了它,B类是否能知道
     可以通过static关键字修饰成员变量,static表示的意思是该成员变量为类所拥有,并不是某一具体对象所拥有,通过该类实例化的所有对象共享static修饰的成员变量,static修饰的成员变量在内存中占有一块固定的内存,所以,你可以在A中修改staitc修饰的成员变量,在B中可以看到修改的结果。如果成员变量不定义为static,那么每当你new一次,相当于给该成员变量分配一次内存,所以...
java多线程(对象和变量的并发访问)
在现实开发中,我们写的线程肯定会有不同的实例在执行,此时就可能会出现”非线程安全问题”,非线程安全就是:多个线程对同一个对象中的实例变量进行并发访问时候,有可能A和B线程同时读取到数据,先后进行更改,此时,该变量就不是我们期望的数据,也就是通常所说的”脏数据”实例变量非线程安全 需要注意的是,方法中的变量是不存在非线程安全问题的,这是因为方法内部的变量都是私有的。 如果多个线程共同访问了一个对象中的
今天做到一道面试题:线程安全问题,类锁与对象锁的区别
原文:    http://www.iteye.com/topic/806990 http://www.iteye.com/topic/808550   浅谈java内存模型        不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总
java进阶(七)------多线程---多线程操作同一变量
情况首先要肯定的是ThreadLocal和局部变量是线程安全的,静态和实例变量都是不安全的。我们常常在系统中会用一些 静态变量 作为 共同的状态标记。但在多线程中常常发现这个 变量的增减 会出现错乱  并不是预期中的结果显示。例如:package test.autorun; public class ShareVar { private static int nCount=0; pub
剑指Offer——知识点储备-Java基础
剑指Offer——知识点储备-Java基础网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2 参考资料:(java方面的一些面试答案) http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=29&page=1 http://www.nowcode
Java中一个类里面有两个用synchronized修饰的非静态方法,不同的线程中的实例访问这两个方法时会发生什么?
首先这个问题涉及到的是Java的对象锁。 java的对象锁和类锁:java的对象锁和类锁在锁的概念上基本上和内置锁是一致的,但是,两个锁实际是有很大的区别的,对象锁是用于对象实例方法,或者一个对象实例上的,类锁是用于类的静态方法或者一个类的class对象上的。我们知道,类的对象实例可以有很多个,但是每个类只有一个class对象,所以不同对象实例的对象锁是互不干扰的,但是每个类只有一个类锁。但是有
Java - 当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 不能。其它线程只能访问该对象的非同步方法,同步方法则不能进入。因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法说明对象锁已经被取走,那么试图进入B方法的线程就只能在等锁池(注意不是等待池哦)中等待对象...
Java多个线程同时访问操作单例对象,需不需要加锁的问题
1、多个线程处理单例对象的共有属性         如果两个线程同时访问同一个方法的时候,如果这个方法操作了单例对象中共有的属性,则需要加锁。 2、多个线程不是处理单例对象的共有属性(可能调用的是某个方法,该方法没有操作对象中的全局属性)         多个线程如果不是同时处理一个对象的共有属性,则不会出现线程问题,即使是方法中的属性。         如果两个线程同时访问同一个方法的时...
Java多线程之对象及变量的并发访问
Java对象及变量的并发访问当多个线程同时对同一个对象中的实例变量进行并发访问时可能会产生线程安全问题。产生的后果就是”脏读”,即收到的数据其实是被更改过的。 如果访问的是方法中的变量,则不存在”非线程安全”问题 可以通过以下几种方式来解决,在对对象及变量并发访问过程中的安全问题 1. synchronize同步方法 2. 同步语句块 3. volatile关键字synchronize同步
java中,多个线程同时调用同一个静态方法的问题
我的原来程序是这样设计的,对于一些常用的方法,都用静态方法来实现,在多线程程序中直接调用,静态方法由于没有使用静态变量,所以没有进行线程同步。 类似以下程序: class ThreadI { public static void main(String[] arg) { TestI p = new TestI("thread 1"); new TestI("thread 2"
面试题:当一个线程进入一个对象的同步方法,其他线程能否访问该对象的其他非同步方法...
答案经过测试是可以的,只要不是同步方法,就不要等对象锁,所以不管这个对象是否有其它线程锁定了,在其它线程访问非同步方法都不需要等同步锁的动作 笔者写了个例子,以供参考: package com.fruitking.test; import java.text.SimpleDateFormat; import java.util.Date; public class Student...
当析构函数遇到多线程
来源:http://www.cnblogs.com/Solstice/archive/2010/02/10/dtor_meets_threads.html 摘要 编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对
Java多线程对同一个对象进行操作
示例: 三个窗口同时出售20张票。 程序分析: 1、票数要使用一个静态的值。 2、为保证不会出现卖出同一张票,要使用同步锁。 3、设计思路:创建一个站台类Station,继承THread,重
java多线程对象锁、类锁、同步机制详解
1.在java多线程编程中对象锁、类锁、同步机制synchronized详解:     对象锁:在java中每个对象都有一个唯一的锁,对象锁用于对象实例方法或者一个对象实例上面的。     类锁:是用于一个类静态方法或者class对象的,一个类的实例对象可以有多个,但是只有一个class对象。     同步机制synchronized:synchronized关键字用于修饰方法或者单独的sy
java-多线程同时操作同一个对象之解决方法:读写锁ReadWriteLock的使用
说明一下,这边文章写得比较简单,只涉及到ReadWriteLock的使用,具体源码实现原理并不涉及。 1、使用场景:            首先我这边是实际开发中使用到了,开发的环境情况为:有一个数据中心(暂且当做一个Map集合),有两个子线程A、B,其中A线程每5秒钟从其他地方获取到新来的数据然后和数据中心里面的数据进行一个融合,然后B线程进行隔5分钟从数据中心取出Map集合并解析其中的数据...
内部类实现多线程环境中的单例模式
内部类实现多线程环境中的单例模式(转)
Java多线程之多个线程访问共享对象和数据的方式
1.如果每个线程执行的代码相同,可以使用同一个Runable对象,这个Runable对象中有那个共享数据,例如卖票系统就可以这样做。   package javaplay.test; public class MulteThreadShareData { public static void main(String[] args) { ShareData shareData = ne...
Java 反射 函数,多线程调用一个类中不同的方法
[code="java"] public void run() { try { Class reflectClass = Class.forName("com.zte.ums.zxnm01.common.alarmReport.AlarmDataExport"); Method m = refl...
利用QT的QThread将一个类中的成员函数转到线程下执行
#include "displaythread.h" #include "mainwindow.h" DisplayThread::DisplayThread(MainWindow *pWindow, QObject *parent) : QThread(parent) { m_pWindow = pWindow; } void DisplayThread::run() {
java多线程调用 单例类中一个的方法
这几天面试了几个人,发现他们对线程 访问 方法的概念还是很模糊的。其实我自己也多线程用的也不多,基本都是生产者消费者模型。 但是基本概念大家还是要知道的。
【多线程】synchronized同步代码块
一、前言        使用synchronized声明的方法在 某些情况下是有弊端的,比如A线程调用同步的方法执行一个长时间的任务,那么B线程就必须等待比较长的时间才能执行,这种情况可以使用synchronized代码块去优化代码执行时间,也就是通常所说的减少锁的粒度。 /** * 使用synchronized代码块减小锁的粒度,提高性能 * @author alienware *
静态初始化块里启动新线程的陷阱
静态初始化块里启动新线程的陷阱 一:问题的提出           我们知道静态块帮助我们完成一些类的初始化的工作,那么在静态块里面启动一个线程,让它来帮助我们来完成初始化的工作会发生什么哪?死锁还是输出了让我们感觉不是我们想要的结果呐?,不妨试试看,结果是什么吧. 二:具备的知识         多线程的基础知识, 多线程的创建,启动,join()方法和匿名内部类的使用等.例子比较简单的
java并发编程---如何创建线程以及Thread类的使用
1、Java中关于应用程序和进程相关的概念   在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的话,只会创建一个线程,通常称为主线程。但是要注意,虽然只有一个线程来执行任务,不代表JVM中只有一
当一个线程进入一个对象的synchronized() 方法后,其他线程是否可以进入此对象的其他方法
当一个线程进入一个对象的synchronized() 方法后,其他线程是否可以进入此对象的其他方法? 1、其他方法generalMethod() 没有加入synchronized修饰符 package thread; public class Test { public synchronized void synchronizedMethod(){ System.out.printl
java并发-多线程之多个线程之间共享数据(6)
多线程共享数据的方式:   1,如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,卖票系统就可以这么做。 2,如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,例如,设计4个线程。其中两个线程每次对j增加1,另外两个线程对j每次减1,银行存取款   有两种方法来解决此类问题: 将共享
java线程对单个对象的共享的一些方式
最近看了关于java多线程的一些知识,今天总结一下。主要总结的是java多线程对于单个对象共享的控制,主要从可见性、发布逸出、线程封闭、不变性、安全发布5个方面来进行总结,看的书籍为《Java并发边编程实战》。
线程类及多线程
进程:一个操作系统中可以同时运行多个应用程序,每个应用程序被称为一个进程。即系统级别的多线程。 线程:一个程序同时可能有多个运行场景,每个运行场景就叫做一个线程。 并发:线程是并发运行的。操作系统将时间划分为若干个时间片,尽可能均匀分给每一个任务,被分配时间片后,任务就有可能被cpu处理,对于单个线程来说,中间间隔时间很短,好像一直在运行,从所有的线程来看,好像一直都在运行。 具体实现: ...
多线程实现方式1:将类声明为 Thread 的子类
public class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println(getName()+":"+i); } } } /* * 多线程的实现方式: * 方式1:一种方法是将类声明为 Thread...
如何控制JAVA中一个类只能生成一个对象?
public class A{ private static A a = new A(); //声明为static是为了确保只有一个对象存在,详见static修饰符 private A(){} //构造方法为private,此类无法创建对象 public static A getA(){ return a; } } main(){ A b = new A();//错误做法,无法获取对象 A b =
java,同一个Runnable对象扔线程池多次和多个实例对象扔线程池有啥不同啊?
ExecutorService executor = Executors.newCachedThreadPool(); for (int i = 0; i < 10; i++) { executor.submit(new TaskRunnable()); } ExecutorService executor = Executors.newCachedThreadPool(
Java多线程共享全局变量问题
现在安全问题,在我们做开发时只要涉及多线程都是属于必须考虑的问题,但多线程是个神奇的东西,东西太多,很难全部掌握,在这里我也是通过例子来见证他的奇迹 1.会出现问题的例子    计数的类: public class Count { private Integer countNum=0;     public void count() {           for(int i =
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java中线程的学习视频 java中关于线程的学习

相似问题

1
c++,CreateThread在类中使用,要如何声明线程函数呢
1
c++ 11 在局部使用async()创建一个线程,当程序运行出局部区域时,为什么代码会阻塞等待线程执行结束?
4
写了一个测试类 打算创建一些线程 同时加一个数,然后发觉同步不了,不知道为什么
1
C++实现链式队列,在Xcode中遇到Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)
0
将session绑定线程后,为什么手动关闭session不会报已关闭Session错误。
1
如何利用线程机制设计自己创意一个多道程序?
2
关于生产消费线程,消费者重复执行的问题
1
c语言中如何理解参数是从线程
1
WEB应用中业务Id锁有什么好的实现方案吗?
4
asp.net 后台开线程写脚本提示异常“ 响应在此上下文中不可用”
0
C语言加壳为什么修改CONTEXT之后恢复线程时程序还是会崩溃?求大佬指点
1
loadrunner中的三个组件算是线程吗
6
下面的代码怎么修改,才能保证线程里不报空指针异常
1
pygame中调用pyqt5写的设置界面,只能显示一次不能多次启动,求解?
10
线程之间的切换会消耗系统性能为啥还用多线程?
1
delphi 怎样在线程里添加NMUDP控件的onDataRecieved事件?
1
ThreadPoolExecutor添加线程不执行,为什么
2
c#中自定义控件控制线程时,两个控件间相互影响,怎么避免?
1
python pyqt5 怎样暂停和退出指定线程?
4
java synchronized修饰的方法中调用sleep竟然产生这样的输出?!