`
arne3166
  • 浏览: 131136 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

线程学习

阅读更多
import java.io.*;

class Daemon extends Thread {
	private static final int SIZE = 10;//定义一个静态常量
	private Thread[] t = new Thread[SIZE];//定义一个线程数组
	public Daemon() {//构造方法
		setDaemon(true);//设置一个驻留的线程
		start();//运行线程
	}
	public void run() {
		for(int i = 0; i < SIZE; i++) {
			t[i] = new DaemonSpawn(i);//把线程数组进行实例化
		}
		for(int i = 0; i < SIZE; i++) {
			System.out.println("t[" + "].isDaemon()= " 
			+ t[i].isDaemon());//打印出某是否为一个驻留程序
		}
		while(true) {//循环让出控制权给同一个级别的线程
			yield();
		}
	}
}

class DaemonSpawn extends Thread {
	public DaemonSpawn(int i) {//构造方法
		System.out.println("DaemonSpawn" +  i +"started");//打印是哪个开始执行
		start();//让线程开始执行起来
	}
	public void run() {
		while(true) {//一直都在让出它的控制权
			yield();
		}
	}
}

public class Daemons {
	public static void main(String[] args) {
		Thread d = new Daemon();
		System.out.println("d.isDaemon()= "+d.isDaemon());
		BufferedReader stdin =//构造了一个字符输入流
	    new BufferedReader(new InputStreamReader(System.in));
	    System.out.println("Waiting for CR");
	    try {
	    	stdin.readLine();//从键盘中读一行
	    }catch(IOException e) {
	    }
	}
}

 

 

import  java.io.PrintWriter;

class Point2D {
	int x, y;
	
	Point2D() {
		this(0, 0);
	}
	Point2D(int x) {
		this(x, 0);
	}
	Point2D(int x, int y) {
		this.x = x;
		this.y = y;
	}
	double length() {
		return Math.sqrt(x * x + y * y);
	}
}

class MyPoint extends Point2D {
	int x, y;
	
	MyPoint(int x, int y) {
		super(x, y);
		this.x = x;
		this.y = y;
	}
	double length() {
		return Math.sqrt(x * x + y * y);
	}
	double distance() {
		return Math.abs(this.length() - super.length());
	}
}

public class PointTest {
	public static void main(String[] args) {
		PrintWriter out = new PrintWriter(System.out, true);
		MyPoint mp = new MyPoint(4, 3);
		Point2D p = new Point2D(11);
		Point2D q = mp;
		mp.x = 5;
		mp.y = 12;
		out.println(mp.y);
//		out.println(mp.x);
		out.println(p.y);
//		out.println(q.y);
//		out.println(mp.length());
//		out.println(p.length());
//		out.println(q.length());
//		out.println(mp.distance());
	}
}

 

分享到:
评论

相关推荐

    C++多线程学习

    在"C++多线程学习"这个主题中,我们主要探讨的是如何在C++环境中创建和管理线程,以及解决并发访问时可能出现的问题。 一、C++11及后续版本中的多线程支持 自C++11标准开始,C++提供了内置的多线程库`&lt;thread&gt;`,...

    关于C# 多线程学习

    关于C#多线程学习,本篇将深入探讨在C#中如何管理和操作线程,包括启动、停止、暂停线程、调整线程优先级等关键知识点。 ### 启动线程 在C#中,启动一个新线程通常通过`Thread`类实现。创建一个新的线程对象时,...

    多线程学习笔记

    多线程学习笔记 iOS开发中,多线程是一种常见的技术手段,用于优化应用程序的性能,提升用户体验。多线程的核心是让程序能够并发地执行多个任务,合理地利用设备的计算能力,尤其是在拥有多个核心的处理器上。 ...

    C#多线程学习,学习多线程好资料。

    ### C#多线程学习详解 #### 一、多线程的基本概念 ##### 1. 什么是进程? 进程是程序的一次动态执行过程,它包含了正在运行的程序所需的内存、系统资源以及执行上下文。简单来说,当你启动一个程序时,操作系统会...

    Java线程学习和总结

    在Java编程语言中,线程是程序执行的基本单元,它允许程序并发地...同时,"Java线程学习和总结.files"目录下的文件可能是与文章相关的辅助资料,例如代码示例或图片。建议结合这些资料一起学习,以获得更全面的知识。

    C#多线程学习(二)

    【C#多线程学习(二)】 在C#编程中,多线程是一个重要的概念,它允许程序同时执行多个任务,从而提高了程序的效率和响应性。在本篇文章中,我们将深入探讨如何操纵线程,包括线程的状态以及线程优先级。 首先,...

    多线程学习文档

    ### 多线程学习文档知识点总结 #### 一、线程的基本概念及关系 ##### 进程(Process) - **定义**:进程是Windows系统中的一个基本概念,它包含了运行程序所需的所有资源。 - **特性**: - 相对独立性:一个进程...

Global site tag (gtag.js) - Google Analytics