`
在水伊方
  • 浏览: 111575 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

传统线程

阅读更多
package cn.itcast;

/**
 * 传统线程
 */
public class TraditionalThread {
	public static void main(String[] args) {
		// 第一种方法
		Thread thread = new Thread() {
			@Override
			public void run() {
				while (true) {
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println("thread name:" + Thread.currentThread().getName());
					System.out.println("2:" + this.getName());
				}
			}
		};
		thread.start();

		// 第二种方法
		Thread thread2 = new Thread(new Runnable() {
			@Override
			public void run() {
				while (true) {
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println("runnable name:" + Thread.currentThread().getName());
				}
			}
		});
		thread2.start();

		// 第三种方法 执行的是thread部分,覆盖了父类的run()方法
		new Thread(new Runnable() {
			public void run() {
				while (true) {
					try {
						Thread.sleep(500);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println("runnable :"
							+ Thread.currentThread().getName());

				}
			}
		}) {
			public void run() {
				while (true) {
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					System.out.println("thread :"
							+ Thread.currentThread().getName());

				}
			}
		}.start();
	}
}

分享到:
评论

相关推荐

    传智播客_张孝祥_传统线程同步通信技术

    张孝祥老师的课程"传智播客_张孝祥_传统线程同步通信技术"深入浅出地讲解了这一主题,旨在帮助开发者理解和掌握线程间的协作与数据共享方式。 线程同步是指在多线程环境下,控制多个线程按一定的顺序执行,以避免...

    传统线程同步通信技术一

    本文将深入探讨传统线程同步通信技术,主要包括临界区、信号量、互斥量以及事件对象。 1. **临界区**(Critical Section) 临界区是程序中用于访问共享资源的代码段。为了防止多个线程同时进入临界区,我们可以...

    传统线程同步通信技术二

    了解并熟练掌握这些传统线程同步通信技术,能帮助你在多线程编程中有效地避免数据竞争,提高程序的并发性和可靠性。在实际开发中,应根据具体需求选择最合适的同步机制,同时考虑线程同步带来的开销,以实现最佳性能...

    java线程之传统线程与java5后线程对比剖析

    此为源码包,包含java中各种线程知识,有传统的线程调用方式,和java5以后线程启用及相关api使用方法(线程池,定时器,同步,互斥),传统和新版本jdk两种实现方式,内含代码,详细注释,案列丰富多彩!如果有对线程...

    Java多线程与并发库高级应用视频教程22集

    资源名称:Java多线程与并发库高级应用视频教程22集资源目录:【】01传统线程技术回顾【】02传统定时器技术回顾【】03传统线程互斥技术【】04传统线程同步通信技术【】04传统线程同步通信技术_分割纪录【】05线程...

    Java并发之传统线程同步通信技术代码详解

    "Java并发之传统线程同步通信技术代码详解" Java并发之传统线程同步通信技术代码详解是Java编程语言中的一种重要技术,主要用于解决多线程之间的同步通信问题。在Java中,线程同步通信技术是通过wait()和notify()...

    用户界面多线程

    3. **异步编程**:除了使用传统线程,许多现代编程语言提供了异步编程模型,如Java的`CompletableFuture`,C#的`async/await`,JavaScript的回调函数或Promise。这些模型允许非阻塞I/O操作,进一步优化UI性能。 4. ...

    张孝祥Java多线程与并发库高级应用笔记

    张孝祥的Java多线程与并发库高级应用笔记涵盖了从传统线程技术到JDK1.5并发库的全面内容,不仅加深了对线程基本原理的认识,还介绍了现代Java并发编程的最佳实践。对于希望提升多线程编程技能的Java开发者来说,这是...

    多线程学习笔记

    GCD是Apple提供的一个通用的多线程API,它的设计目标之一就是替代NSThread等传统线程技术。GCD基于C语言,并且充分地利用了设备的多核处理器。GCD的使用更为简单和面向对象,它的目的是简化多线程编程,使得开发者...

    .net线程

    5. **异步编程**:除了使用传统线程外,还可以使用.NET的异步编程模型(如async/await关键字)来实现这个功能,这种方式可以更好地管理线程资源,提高程序效率。 6. **性能优化**:根据应用程序的需求,可能需要...

    使用单独的线程执行程序代码

    5. **异步编程与Task**:.NET 4.0引入了`Task`类,它是异步编程的主要工具,提供了比传统线程更高级别的抽象。Task可以用来执行异步操作,与线程相比,它们更适合于I/O密集型任务。例如: ```csharp Task.Run(() =...

    要解决socket tcp C10K问题,传统的多线程模式和select模式都不再适用,应采用epoll,kqueue,dev_poll来捕获IO事件.zip

    要解决C10K问题,传统的多线程模式和select模式都不再适用,应采用epoll,kqueue,dev_poll来捕获IO事件.zip

    轻量级线程库protothreads介绍

    它不依赖于传统线程模型中的栈帧保存和恢复机制,而是通过一组宏来控制程序流程,使得每个线程能够保存其运行状态,并在下次调度时从中断的地方恢复执行。这样一来,每个线程就像是一个自动的流程控制块,能够在中断...

    C#多线程摇奖机源码

    虽然本例使用了传统线程,但现代C#推荐使用基于任务的异步编程(TAP),如Task类。Task更高效,能更好地利用系统资源,并简化并发代码。如果重写此代码,可以考虑使用async/await关键字。 6. **Random类与线程安全...

    多线程的讲解

    #### 一、传统线程机制 **1.1 线程的概念** 线程是程序执行流的基本单元,是操作系统能够进行运算调度的最小单位。简单来说,线程就是一个单一的指令序列,沿着这条路径依次执行指令。在一个进程中,如果存在多个...

    java纤程库-quasar,线程的线程

    纤程是比传统线程更为轻量级的执行单元,它们可以相互协作并共享相同的调度器。每个纤程都有自己的独立栈空间,这使得纤程可以在不同的状态之间进行切换而不会影响到其他纤程。 ##### 1. **上下文切换** Quasar ...

    多线程编程指南

    #### 五、从传统线程迁移到现代并发模型 **5.1 使用DispatchQueue代替线程** 讲解了如何逐步将应用程序从传统的线程模型迁移到基于`DispatchQueue`的并发模型。 **5.2 替换线程锁** 介绍了如何替换线程锁以减少...

    JDK21虚拟线程详解.pptx.pptx

    协程允许线程之间的切换更加灵活和高效,由程序员手动控制,避免了传统线程的抢占式调度可能导致的问题。这种方式降低了上下文切换的成本,提高了并发性能,同时也降低了多线程编程的复杂性。 **JDK21虚拟线程的...

    unix/linux多线程编程指南(sun技术文档)

    - 特点:LWP之间的切换由内核管理,比传统线程切换更高效。 #### 五、多线程编程案例分析 - **生产者消费者模型:** - 描述:一个典型的多线程编程模式,包括生产者线程(负责生成数据)和消费者线程(处理数据)...

Global site tag (gtag.js) - Google Analytics