当前位置: 代码迷 >> 综合 >> Java-Week7-线程和JDBC
  详细解决方案

Java-Week7-线程和JDBC

热度:77   发布时间:2023-12-15 14:20:49.0

1.多线程编程

1.1 线程的概念

  • 多线程是指同一个程序同时存在几个“执行体”,它们可以 “同时”工作。
  • 在早期的单核CPU上,这些执行体是轮流执行的,因为计算 机同一时刻只能执行一个线程,但是CPU执行速度是很快的, 通过快速轮转,给人感觉上是“同时”工作的。
  • 现在的多核CPU上,可以实现真正的多线程并行执行
  • 进程:一个程序的每一次运行称为一个进程,一个进程要占用一部分处理器时间和内存资源
  • 线程:一个程序中多段代码同时并发执行,称为多线程。通过多线程,一个进程可以同时执行一个以上的任务(称为“并 发”)。 创建线程比创建进程开销要小得多,线程之间的协作和数据交换也 比较容易 。 一个进程可以包含多个线程,它们共享进程资源
  • 主线程

继承Thread类

package test;class Kitty extends Thread{public void run(){for(int i=1;i<=50000;i++){if(i%10000==0)System.out.println("小喵喵叫");}}}
class Puppy extends Thread{public void run(){for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("小汪汪叫");}
}public class test 
{public static void main(String args[]){Kitty k=new Kitty();Puppy p=new Puppy();k.start();p.start();for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("主人叫");}
}
主人叫
小汪汪叫
小喵喵叫
主人叫
小汪汪叫
小喵喵叫
主人叫
小汪汪叫
小喵喵叫
主人叫
小喵喵叫
小汪汪叫
小喵喵叫
主人叫
小汪汪叫

 Runnable接口

package test;class Kitty implements Runnable{public void run(){for(int i=1;i<=50000;i++){if(i%10000==0)System.out.println("小喵喵叫");}}}
class Puppy implements Runnable{public void run(){for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("小汪汪叫");}
}public class test 
{public static void main(String args[]){Kitty k=new Kitty();Puppy p=new Puppy();Thread kitty=new Thread(k);Thread puppy=new Thread(p);kitty.start();puppy.start();for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("主人叫");}
}
package test;class Kitty implements Runnable{public void run(){for(int i=1;i<=50000;i++){if(i%10000==0)System.out.println("小喵喵叫");}}}
class Puppy implements Runnable{public void run(){for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("小汪汪叫");}
}public class test 
{public static void main(String args[]){Kitty k=new Kitty();Puppy p=new Puppy();Thread kitty=new Thread(k);Thread puppy=new Thread(p);kitty.start();puppy.start();for(int i=1;i<=50000;i++)if(i%10000==0)System.out.println("主人叫");}
}

 

package test;public class test 
{public static void main(String[] args) {ClassRoom room317=new ClassRoom();room317.student.start();room317.teacher.start();}}

1.2 Thread 类和 Runnable 接口

1.3 线程的生命周期

2.JDBC与数据库访问

 

 

  相关解决方案