多线程-实现方式-线程控制-线程同步

1.程序,进程,线程

程序:是静态,一些文件的集合,可运行。

进程:当一个程序启动时就启动了一个进程。

线程:程序的不同的执行路径,主函数的执行就是主线程,其实都是线程的执行。

线程的执行是CPU的调度机制。

2.线程的创建和启动
 class A extends Thread{
  public void run(){
  
  }
 }
 
 A a = new A();
 a.start();//将线程放入可执行的队列中,等待系统调度执行
 
 -------------------------------------------------
 class B implements Runnable{
  public void run(){
  
  }
 }
 
 B b = new B();
 Thread t = new Thread(b);
 t.start();


 -------------------------------------------------
 class C extends TimerTask{
  public void run(){
  
  }
 }
 
 
 C c = new C();
 Timer t = new Timer();
 t.schedule(c, 1000, 2000);
 
3.线程的通信
 监视线程--用于监视其他线程的状态。
 生产/消费  wait/notify机制

wait让访问该对象的线程等待,只有当该对象再调用notify的时候等待的线程才会重新进入就绪状态
 
 
4.线程的同步
 一。同步和异步

 线程本身的异步的(并行)
 在某些地方需要让线程同步

 如何实现线程同步???
 1. 锁住某个代码块
  synchronized (需要同步的对象) {
   // 需要同步的代码
  }


 2. 锁住某个方法
  public synchronized void quqian(int n) {
 
  }

 3.使用锁对象
  //创建锁
  Lock l = new ReentrantLock();
 
  //上锁
  l.lock();
  //需要同步的代码块
 
  //解锁
  l.unlock();
 二、 生产者和消费者模型
 1、容器,在往容器添加的时候不能往外拿,在往外拿的时候不能往里添加,也就是同步。
 2、可以直接利用LinkedBlockingDeque
 put()方法
 //放入元素,如果容量不够,就等待
 take()方法
 // 从队列中移除元素,如果队列中没有元素,则等待
 

5.线程的暂停,停止模型
 线程暂停:
  sleep(1000)  // 睡着了也是抱着锁
  wait();      //释放锁,需要被唤醒
  
 线程的停止:
  必须是run方法自然结束
 

 多线程游戏需要暂停
 run(){
  while(是否停止){
   if(是否暂停){
    //逻辑代码
   }
  }
 }
 
6.线程的状态
 New Thread(新建状态):当线程对象被创建的时候
 Runnable(就绪,可执行):当调用完线程的start方法之后
 Running(运行时状态):线程正在执行run方法
 Not Runnable(非运行状态,阻塞状态,暂停状态,挂起状态):当线程sleep,wait的时候
 Dead(死亡状态,终止状态):线程的run方法执行完毕
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值