Le concept de processus et de threads et la création de plusieurs threads

Le concept de processus et de threads et la création de plusieurs threads

1. Concurrence et parallélisme

学习进程与线程首先要了解什么是并发和并行?
并发:指两个或多个事件在同一个时间段内发生
并行:指两个或多个事件在同一时刻发生(同时发生)

2. Le concept de processus et de threads

进程:一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可
     行同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;
     系统运行一个程序即是一个进程从创建、运行到消亡的过程
线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一
      个线程.一个进程是可以有多个线程的,这个应用程序也可以称之为多线程程序
简而言之:一个程序运行后至少有一个进程,一个进程中可以包含线程

3. Multithreading

如果使用单线程,那么程序就必须等待这些操作执行完成之后才能执行其他操作,
显然不符合我么现在的快速的节奏.使用多线程,可以在将耗时任务放在后台继续执行时,
同时执行其他操作。

主要的优点:.
    可以提高程序的效率
缺点:
   使用太多线程,是很耗系统资源,因为线程需要开辟内存。更多线程需要更多内存。
影响影系统性能,因为操作系统需要在线程之间来回切换. 

总结:多线程是异步的,但这不代表多线程真的是几个线程是在同时进行,实际上
是系统不断地在各个线程之间来回的切换(因为系统切换的速度非常的快,所以给我们
在同时运行的错觉)

4. Deux méthodes de création de multithreading (couramment utilisées):

1、继承Thread类,重写run()方法
//方式1
package cn.itcats.thread.Test1;
 
public class Demo1 extends Thread{
    
    
  
 //重写的是父类Thread的run()
 public void run() {
    
    
  System.out.println(getName()+"is running...");
 }
  
 public static void main(String[] args) {
    
    
  Demo1 demo1 = new Demo1();
  Demo1 demo2 = new Demo1();
  demo1.start();
  demo2.start();
 }
}
2、实现Runnable接口,重写run()
package cn.itcats.thread.Test1;

public class Demo2 implements Runnable{
    
    
 
  //重写的是Runnable接口的run()
  public void run() {
    
    
      System.out.println("implements Runnable is running");
  }
   
  public static void main(String[] args) {
    
    
    Thread thread1 = new Thread(new Demo2());
    Thread thread2 = new Thread(new Demo2());
    thread1.start();
    thread2.start();
  }
}

Je suppose que tu aimes

Origine blog.csdn.net/weixin_49092628/article/details/110237226
conseillé
Classement