java第六次实验——多线程

本文档详细介绍了四个Java多线程任务,包括通过继承Thread类和实现Runnable接口创建线程,模拟并发分发笔记本,以及设计一个字母游戏GUI界面,该界面能与用户交互并实时更新得分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、上机目的和要求:
(1)掌握Java多线程的创建及其启动,多线程的两种常用创建方式及其区别 (2)掌握多线程的生命周期及五种基本状态,分别是新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead) (3)掌握引起Java线程阻塞的主要方法,如:join()方法、sleep()方法、yield()方法 (4)掌握线程安全及其解决机制,如:同步方法、同步代码块等

二、程序开发环境:
Windwos 7或以上版本、Eclispe 4.5或以上版本、JDK8或以上版本

三:任务:

  1. 通过继承Thread类的方法创建两个线程,在Thread构造方法中指定线程的名称,并将这两个线程的名字打印出来。
  2. 通过实现Runnable接口的方法创建一个新线程,要求main线程打印100次“main”,新线程打印50次“new”。
  3. 模拟三个老师同时发80份学习笔记本,每次只发放一份笔记本,每个老师相当于一个线程。

1. 通过继承Thread类的方法创建两个线程,在Thread构造方法中指定线程的名称,并将这两个线程的名字打印出来。

public class Text1 {
   

	public static void main(String[] args) {
   
		// TODO Auto-generated method stub
		th1 t1 = new th1("芜湖");
		t1.start();
		th2 t2 = new th2("芜湖2");
		t2.start();
	}
}

class th1 extends Thread {
   
	String name;
	
	public th1(String name) {
   
		this.name = name;
	}

	@Override
	public void run() {
   
		// TODO Auto-generated method stub
		System.out.println(Thread.currentThread().getName() + ":" + name);
	}
}

class th2 extends Thread {
   
	String name;

	public th2(String name) {
   
		this.name = name;
	}

	@Override
	public void run() {
   
		// TODO Auto-generated method stub
		System.out.println(Thread.currentThread().getName() + ":" + name);
	}
}

2. 通过实现Runnable接口的方法创建一个新线程,要求main线程打印100次“main”,新线程打印50次“new”。


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值