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();
   }
}

 

 

目录
相关文章
|
Java 索引
多线程向设备发送数据
多线程向设备发送数据
195 0
|
安全 算法 Java
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
484 0
|
10月前
|
设计模式 缓存 安全
【JUC】(6)带你了解共享模型之 享元和不可变 模型并初步带你了解并发工具 线程池Pool,文章内还有饥饿问题、设计模式之工作线程的解决于实现
JUC专栏第六篇,本文带你了解两个共享模型:享元和不可变 模型,并初步带你了解并发工具 线程池Pool,文章中还有解决饥饿问题、设计模式之工作线程的实现
616 2
|
Java 数据挖掘 调度
Java 多线程创建零基础入门新手指南:从零开始全面学习多线程创建方法
本文从零基础角度出发,深入浅出地讲解Java多线程的创建方式。内容涵盖继承`Thread`类、实现`Runnable`接口、使用`Callable`和`Future`接口以及线程池的创建与管理等核心知识点。通过代码示例与应用场景分析,帮助读者理解每种方式的特点及适用场景,理论结合实践,轻松掌握Java多线程编程 essentials。
858 5
|
数据采集 监控 调度
干货分享“用 多线程 爬取数据”:单线程 + 协程的效率反超 3 倍,这才是 Python 异步的正确打开方式
在 Python 爬虫中,多线程因 GIL 和切换开销效率低下,而协程通过用户态调度实现高并发,大幅提升爬取效率。本文详解协程原理、实战对比多线程性能,并提供最佳实践,助你掌握异步爬虫核心技术。
|
监控 搜索推荐 Java
Java 多线程最新实操技术与应用场景全解析:从基础到进阶
本文深入探讨了Java多线程的现代并发编程技术,涵盖Java 8+新特性,如CompletableFuture异步处理、Stream并行流操作,以及Reactive编程中的Reactor框架。通过具体代码示例,讲解了异步任务组合、并行流优化及响应式编程的核心概念(Flux与Mono)。同时对比了同步、CompletableFuture和Reactor三种实现方式的性能,并总结了最佳实践,帮助开发者构建高效、扩展性强的应用。资源地址:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
656 3
|
算法 Java 调度
Java多线程基础
本文主要讲解多线程相关知识,分为两部分。第一部分涵盖多线程概念(并发与并行、进程与线程)、Java程序运行原理(JVM启动多线程特性)、实现多线程的两种方式(继承Thread类与实现Runnable接口)及其区别。第二部分涉及线程同步(同步锁的应用场景与代码示例)及线程间通信(wait()与notify()方法的使用)。通过多个Demo代码实例,深入浅出地解析多线程的核心知识点,帮助读者掌握其实现与应用技巧。
235 1
java 多线程异常处理
本文介绍了Java中ThreadGroup的异常处理机制,重点讲解UncaughtExceptionHandler的使用。通过示例代码展示了当线程的run()方法抛出未捕获异常时,JVM如何依次查找并调用线程的异常处理器、线程组的uncaughtException方法或默认异常处理器。文章还提供了具体代码和输出结果,帮助理解不同处理器的优先级与执行逻辑。
279 1
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
700 23

热门文章

最新文章