java 中的多线程 内部类实现 数据共享 和 Runnable实现数据共享

简介:   /* java 中Runnable的好处    可以实现共享一个数据     在一个类已经从其他类派生的时候 我们不能使用 直接从Thread类派生  那么这时候我们可以通过实现Runnable 接口来实现    class Test  {     public  s...
 

/*
java 中Runnable的好处    可以实现共享一个数据    
在一个类已经从其他类派生的时候 我们不能使用 直接从Thread类派生  那么这时候我们可以通过实现Runnable
接口来实现 
  class Test
 {
    public  static void main(String []args)  throws Exception
     { 
       NewThread nt=new NewThread();
       new Thread(nt).start();
       new Thread(nt).start();
       new Thread(nt).start();
       new Thread(nt).start();     
 
       while(true)
     {
        System.out.println(Thread.currentThread().getName()+": is run");
     }
 
     }
  }


class NewThread  implements Runnable
{
   int index=0;
    public    void run()
   {  while(true)
     
     {
     //  System.out.println(Thread.currentThread().getName()+": is run");;
       System.out.println(Thread.currentThread().getName()+":"+index++);
      }
   
   }

}
*/


/*
内部类也能实现多线程数据的共享  一般情况下我们是实现Runnable接口
*/


  class Test
 {
    public  static void main(String []args)  throws Exception
     { 
       NewThread nt=new NewThread();
       nt.getThread().start();
       nt.getThread().start();        
       nt.getThread().start();
       nt.getThread().start();
       while(true)
     {
        System.out.println(Thread.currentThread().getName()+": is run");
     }
 
     }
  }

class NewThread 
{
    int index=0;
    private class InnerThread extends Thread   //设置为私有 隐藏 实现细节
   {
    public    void run()
   {
       while(true)
     {
       System.out.println(Thread.currentThread().getName()+":"+index++);
      }
   }
  } 
   Thread getThread()
   {
    return new  InnerThread();
   }
}

 

 

目录
相关文章
|
21天前
|
设计模式 Java 开发者
Java多线程编程的陷阱与解决方案####
本文深入探讨了Java多线程编程中常见的问题及其解决策略。通过分析竞态条件、死锁、活锁等典型场景,并结合代码示例和实用技巧,帮助开发者有效避免这些陷阱,提升并发程序的稳定性和性能。 ####
|
21天前
|
缓存 Java 开发者
Java多线程编程的陷阱与最佳实践####
本文深入探讨了Java多线程编程中常见的陷阱,如竞态条件、死锁和内存一致性错误,并提供了实用的避免策略。通过分析典型错误案例,本文旨在帮助开发者更好地理解和掌握多线程环境下的编程技巧,从而提升并发程序的稳定性和性能。 ####
|
15天前
|
安全 算法 Java
Java多线程编程中的陷阱与最佳实践####
本文探讨了Java多线程编程中常见的陷阱,并介绍了如何通过最佳实践来避免这些问题。我们将从基础概念入手,逐步深入到具体的代码示例,帮助开发者更好地理解和应用多线程技术。无论是初学者还是有经验的开发者,都能从中获得有价值的见解和建议。 ####
|
15天前
|
Java 调度
Java中的多线程编程与并发控制
本文深入探讨了Java编程语言中多线程编程的基础知识和并发控制机制。文章首先介绍了多线程的基本概念,包括线程的定义、生命周期以及在Java中创建和管理线程的方法。接着,详细讲解了Java提供的同步机制,如synchronized关键字、wait()和notify()方法等,以及如何通过这些机制实现线程间的协调与通信。最后,本文还讨论了一些常见的并发问题,例如死锁、竞态条件等,并提供了相应的解决策略。
40 3
|
21天前
|
缓存 Java 开发者
Java多线程并发编程:同步机制与实践应用
本文深入探讨Java多线程中的同步机制,分析了多线程并发带来的数据不一致等问题,详细介绍了`synchronized`关键字、`ReentrantLock`显式锁及`ReentrantReadWriteLock`读写锁的应用,结合代码示例展示了如何有效解决竞态条件,提升程序性能与稳定性。
77 6
|
21天前
|
安全 Java 开发者
Java中的多线程编程:从基础到实践
本文深入探讨了Java多线程编程的核心概念和实践技巧,旨在帮助读者理解多线程的工作原理,掌握线程的创建、管理和同步机制。通过具体示例和最佳实践,本文展示了如何在Java应用中有效地利用多线程技术,提高程序性能和响应速度。
54 1
|
22天前
|
设计模式 安全 Java
Java 多线程并发编程
Java多线程并发编程是指在Java程序中使用多个线程同时执行,以提高程序的运行效率和响应速度。通过合理管理和调度线程,可以充分利用多核处理器资源,实现高效的任务处理。本内容将介绍Java多线程的基础概念、实现方式及常见问题解决方法。
43 0
|
7月前
|
存储 安全 Java
深入理解Java并发编程:线程安全与锁机制
【5月更文挑战第31天】在Java并发编程中,线程安全和锁机制是两个核心概念。本文将深入探讨这两个概念,包括它们的定义、实现方式以及在实际开发中的应用。通过对线程安全和锁机制的深入理解,可以帮助我们更好地解决并发编程中的问题,提高程序的性能和稳定性。
|
4月前
|
存储 安全 Java
解锁Java并发编程奥秘:深入剖析Synchronized关键字的同步机制与实现原理,让多线程安全如磐石般稳固!
【8月更文挑战第4天】Java并发编程中,Synchronized关键字是确保多线程环境下数据一致性与线程安全的基础机制。它可通过修饰实例方法、静态方法或代码块来控制对共享资源的独占访问。Synchronized基于Java对象头中的监视器锁实现,通过MonitorEnter/MonitorExit指令管理锁的获取与释放。示例展示了如何使用Synchronized修饰方法以实现线程间的同步,避免数据竞争。掌握其原理对编写高效安全的多线程程序极为关键。
71 1
|
5月前
|
安全 Java 开发者
Java并发编程中的线程安全问题及解决方案探讨
在Java编程中,特别是在并发编程领域,线程安全问题是开发过程中常见且关键的挑战。本文将深入探讨Java中的线程安全性,分析常见的线程安全问题,并介绍相应的解决方案,帮助开发者更好地理解和应对并发环境下的挑战。【7月更文挑战第3天】
107 0
下一篇
DataWorks