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++11及后续版本中的多线程支持 自C++11标准开始,C++提供了内置的多线程库`<thread>`,...
关于C#多线程学习,本篇将深入探讨在C#中如何管理和操作线程,包括启动、停止、暂停线程、调整线程优先级等关键知识点。 ### 启动线程 在C#中,启动一个新线程通常通过`Thread`类实现。创建一个新的线程对象时,...
多线程学习笔记 iOS开发中,多线程是一种常见的技术手段,用于优化应用程序的性能,提升用户体验。多线程的核心是让程序能够并发地执行多个任务,合理地利用设备的计算能力,尤其是在拥有多个核心的处理器上。 ...
### C#多线程学习详解 #### 一、多线程的基本概念 ##### 1. 什么是进程? 进程是程序的一次动态执行过程,它包含了正在运行的程序所需的内存、系统资源以及执行上下文。简单来说,当你启动一个程序时,操作系统会...
在Java编程语言中,线程是程序执行的基本单元,它允许程序并发地...同时,"Java线程学习和总结.files"目录下的文件可能是与文章相关的辅助资料,例如代码示例或图片。建议结合这些资料一起学习,以获得更全面的知识。
【C#多线程学习(二)】 在C#编程中,多线程是一个重要的概念,它允许程序同时执行多个任务,从而提高了程序的效率和响应性。在本篇文章中,我们将深入探讨如何操纵线程,包括线程的状态以及线程优先级。 首先,...
### 多线程学习文档知识点总结 #### 一、线程的基本概念及关系 ##### 进程(Process) - **定义**:进程是Windows系统中的一个基本概念,它包含了运行程序所需的所有资源。 - **特性**: - 相对独立性:一个进程...