目录
- 程序 进程 线程
- 多线程
- 实例
- 创建线程
- 测试线程
程序 进程 线程
-
程序,进程和线程是操作系统中的基本概念,它们在多线程编程中起着重要的作用。
-
程序:程序是一组指令的集合,用于实现特定的功能。程序通常是静态的,在程序运行之前已经编写完成。
-
进程:进程是程序在操作系统中的执行实例。每个进程都有独立的内存空间和系统资源,互不干扰。进程之间可以通过进程间通信(IPC)进行数据交换。进程的状态信息保存在进程控制块(PCB)中。
-线程:线程是进程中的一个执行单元,共享进程的内存空间和系统资源。线程之间可以通过共享内存进行通信,因此线程间通信更加高效。线程的状态信息保存在线程控制块(TCB)中。多线程可以实现并发执行任务,提高程序的执行效率。
-
在Java中,多线程通过Thread类和Runnable接口实现。每个Thread对象代表一个线程,可以执行run()方法中的代码。通过创建多个Thread对象或Runnable对象,可以同时执行多个任务,实现并发执行。在多线程编程中,需要注意线程安全问题,如数据同步、死锁、竞态条件等,需要使用synchronized关键字、Lock对象等机制来保证线程安全。
多线程
Java多线程是Java编程语言中用于实现并发的一种机制。在Java中,可以使用Thread类和Runnable接口来创建和管理线程。
要实现多线程,需要执行以下步骤:
- 创建一个Thread类或Runnable接口的实现类。
- 实现run()方法,该方法包含线程执行的代码。
- 创建Thread对象或Runnable对象,并调用start()方法启动线程。
- 在程序中等待所有线程执行完毕。
Java多线程可以用于实现并发执行任务、提高程序的执行效率、节省资源等。但是,多线程编程也需要注意线程安全问题,如数据同步、死锁、竞态条件等,需要使用synchronized关键字、Lock对象等机制来保证线程安全。
实例
创建线程
public class TestThread extends Thread{/*一会线程对象就要开始争抢资源了,这个线程要执行的任务到底是啥?这个任务你要放在方法中但是这个方法不能是随便写的一个方法,必须是重写Thread类中的run方法然后线程的任务/逻辑写在run方法中*/@Overridepublic void run() {//输出1-10for (int i = 1; i <= 10000 ; i++) {System.out.println(i);}}
}
测试线程
public class Test {//这是main方法,程序的入口public static void main(String[] args) {//主线程中也要输出十个数:for (int i = 1; i <= 10 ; i++) {System.out.println("main1-----"+i);}//制造其他线程,要跟主线程争抢资源://具体的线程对象:子线程TestThread tt = new TestThread();//tt.run();//调用run方法,想要执行线程中的任务 -->这个run方法不能直接调用,直接调用就会被当做一个普通方法//想要tt子线程真正起作用比如要启动线程:tt.start();//start()是Thread类中的方法//主线程中也要输出十个数:for (int i = 1; i <= 10000 ; i++) {System.out.println("main2-----"+i);}}
}