多线程和进程的关系详解:
1.当我们运行QQ程序时,操作系统就会为这个程序创建一个QQ进程(QQ~PCB)并且分配CPU、内存等资源。
2.但这个进程中包含着:发送大型的线程、接受文件的线程、发送文字信息的线程、发送文字信息的线程等多个不同功能的线程。因而我们才能一边发送文件,一边发送文字信息同时操作。这些线程都共享着QQ进程中的CPU、内存等资源。
总结:所以说进程是计算机分配资源的最小单位,而其中包含的线程是cpu资源调度的最小单位。cpu真正执行的是线程。每一个进程至少包含一个线程==>主线程(即Java中的主方法main)
java中如何实现多线程的实例:
1.创建一个包含主方法的主类
public class ThreadMain {
public static void main(String[] args) {
//调用SendFile线程体来发送聊天信息
new SendFileMessage("abc.txt").start();
//调用ReciveFile线程体来接收聊天信息
new ReciveMessage().start();
}
}
2.创建两个线程类,继承Thread类
public class SendFileMessage extends Thread{
File sfFile =null;
public SendFileMessage(String filepath) {
sfFile = new File(filepath);
}
@Override
public void run() {
//。。。。。。。。需要实现什么就实现什么吧
}
}
public class ReciveMessage extends Thread{
@Override
public void run() {
//。。。。。要实现什么就实现什么吧
}
}
1.当我们运行QQ程序时,操作系统就会为这个程序创建一个QQ进程(QQ~PCB)并且分配CPU、内存等资源。
2.但这个进程中包含着:发送大型的线程、接受文件的线程、发送文字信息的线程、发送文字信息的线程等多个不同功能的线程。因而我们才能一边发送文件,一边发送文字信息同时操作。这些线程都共享着QQ进程中的CPU、内存等资源。
总结:所以说进程是计算机分配资源的最小单位,而其中包含的线程是cpu资源调度的最小单位。cpu真正执行的是线程。每一个进程至少包含一个线程==>主线程(即Java中的主方法main)
java中如何实现多线程的实例:
1.创建一个包含主方法的主类
public class ThreadMain {
public static void main(String[] args) {
//调用SendFile线程体来发送聊天信息
new SendFileMessage("abc.txt").start();
//调用ReciveFile线程体来接收聊天信息
new ReciveMessage().start();
}
}
2.创建两个线程类,继承Thread类
public class SendFileMessage extends Thread{
File sfFile =null;
public SendFileMessage(String filepath) {
sfFile = new File(filepath);
}
@Override
public void run() {
//。。。。。。。。需要实现什么就实现什么吧
}
}
public class ReciveMessage extends Thread{
@Override
public void run() {
//。。。。。要实现什么就实现什么吧
}
}