Python每日一记164>>>Java多线程之Runnable接口实现

/*
所谓进程就是一个执行中的程序,每个进程都是独立的。
所谓线程,与进程类似,是一段完成某个特定功能的代码,是程序中单个顺序的控制流程,同类的多个线程可以是非独立的,
可共享内存和系统资源。
主线程就是我们的main方法,在主线程中我们可以创建多个子线程,共同运行,互不干扰,
比如一个抢票软件,多个用户抢一张票,系统要能不出错,最后只让一个人得到票,这就是多线程编程。
子线程的创建有两种方式,一个是继承Thread线程类,一个是实现Runnable接口,因为单继承的局限性,
因此主要使用Runnable接口实现多线程编程,以下也主要实验一下Runnable接口。
*/
package myfirst_Java;
public class Hello implements Runnable{
	
	//主程序入口
	public static void main(String[] args) {
//		创建对象,开始线程1
		Thread t1=new Thread(new Hello(),"线程1");
//		start不保证立即运行,由CPU自动调用,结果可以看出线程是交错运行的。
		t1.start();
//		创建对象,开始线程2
		Thread t2=new Thread(new Hello(),"线程2");
		t2.start();
//		运行主线程代码,注意Thread.currentThread().getName()返回的当前线程名称
//		主线程就是main
		for(int i=1;i<=10;i++) {
			System.out.println(Thread.currentThread().getName()+"我是主线程");	
		}
	}
//重写run方法,子线程程序就写在这里
	@Override
	public void run() {
		// TODO Auto-generated method stub
		for(int i=1;i<=5;i++) {
			System.out.println(Thread.currentThread().getName()+"我是子线程");	
		}
	}
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用多线程可以提高招聘项目的效率和响应速度,具体步骤如下: 1. 确定需要进行多线程的任务,例如:搜索简历、发送邮件、生成报表等。 2. 创建一个实现Runnable接口的类,该类的run()方法中包含需要进行的任务。 3. 在主程序中创建一个线程池,例如:ThreadPoolExecutor,可以通过该线程池管理多个线程。 4. 创建多个线程并将其加入到线程池中,例如:ThreadPoolExecutor.execute()。 5. 在所有线程执行完成后,关闭线程池。 6. 可以通过Java的同步机制来保证多个线程之间的数据安全。 示例代码: ```java public class SearchResumeTask implements Runnable { private String keyword; public SearchResumeTask(String keyword) { this.keyword = keyword; } @Override public void run() { // 搜索简历的任务 // ... } } public class SendEmailTask implements Runnable { private String email; public SendEmailTask(String email) { this.email = email; } @Override public void run() { // 发送邮件的任务 // ... } } public class Main { public static void main(String[] args) { // 创建一个线程池,最多同时运行3个线程 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(3, 3, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>()); // 创建多个搜索简历的任务 SearchResumeTask task1 = new SearchResumeTask("Java"); SearchResumeTask task2 = new SearchResumeTask("Python"); SearchResumeTask task3 = new SearchResumeTask("C++"); // 创建多个发送邮件的任务 SendEmailTask task4 = new SendEmailTask("test1@test.com"); SendEmailTask task5 = new SendEmailTask("test2@test.com"); // 将任务加入线程池 threadPoolExecutor.execute(task1); threadPoolExecutor.execute(task2); threadPoolExecutor.execute(task3); threadPoolExecutor.execute(task4); threadPoolExecutor.execute(task5); // 关闭线程池 threadPoolExecutor.shutdown(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值