四结(4.13)多线程学习

今天又进行了一次学长授课,关于MySQL和JDBC本来学了增删查改操作,用IDEA也可以操作数据库,今天讲了一些数据库的规范(三大范式)、以及er图。了解了一下项目。

 

项目要分为客户端和服务端(C/S)来写,用socket连接.我呢还没开始写,java学习快接近尾声了,明天起草一下项目思路,先去实现用户的登录操作;

 

多线程:

实现方式:

1.继承Thread类的方式

 dog t1=new dog();
         dog t2=new dog();
          t1.setName("1:");
          t2.setName("2:");
          th th1=new th();
        th th2=new th();
        Thread th3=new Thread(th1);
        Thread th4=new Thread(th2);
        th3.setName("11:");
        th4.setName("22:");
            t1.start();
            t2.start();

四结(4.13)多线程学习_第1张图片

2.实现Runnable接口的方式 :

 首先定义一个类实现R'unnable接口

重写run方法

创建自己的类

创建Thread开启线程

 

3.利用Cillection接口和Future接口实现:

ma f1=new ma();
        ma f2=new ma();
        FutureTask ft=new FutureTask<>(f1);
        Thread r1=new Thread(ft);
        r1.start();
       Integer result=ft.get();
        System.out.println(result);

 

这个方法相对复杂,但其可以通过方法获得多线程的运行结果

一些基本知识:

1.线程是操作系统中独立的执行单元。

2.在Java程序中,每个线程都是一个对象,由Thread类的实例表示。

3.线程在Java中是轻量级的,可以创建多个线程来执行不同的任务,因此可以提高程序的并发性能。

4.Java中的线程优先级为1~10,数越大优先级越高。

Java多线程的相关API:

1.Thread类:Java多线程的基础类,用于表示一个线程,提供了一系列的方法以及操作,如start()、sleep()、join()等等。

2.Runnable接口:Java多线程的接口,通过实现这个接口来创建线程。

3.synchronized关键字:用来保证线程的安全性,将代码块或方法标记为同步的,以便同一时间只有一个线程可以执行该代码块或方法。

4.wait()、notify()、notifyAll():Java多线程的对象锁机制,用于实现线程间的通信,其中wait()方法使线程等待,notify()方法通知单个等待线程, notifyAll()方法通知所有等待线程。

5.Lock类:通过加锁和解锁的方式,保证同步使用共享资源,比synchronized关键字更加灵活。

 

 

你可能感兴趣的:(学习,java,数据库)