javajava 线程状态传入参数要怎么理解?

一开始我想把run()函数写成有参函数來传值后来发现行不通。
经过查找最终用如下方法传递了参数:

也就是用另外一个有参函数setTar()传递参数。

调用的时候用这4行code传递参数:

丅面是第二种方法(对应的第一种方法)没有深究:

还有一种回调函数的方法。

如果对什么是java 线程状态、什么是進程仍存有疑惑请先Google之,因为这两个概念不在本文的范围之内

用多java 线程状态只有一个目的,那就是更好的利用cpu的资源因为所有的多java 線程状态代码都可以用单java 线程状态来实现。说这个话其实只有一半对因为反应“多角色”的程序代码,最起码每个角色要给他一个java 线程狀态吧否则连实际场景都无法模拟,当然也没法说能用单java 线程状态来实现:比如最常见的“生产者消费者模型”。

很多人都对其中的┅些概念不够明确如同步、并发等等,让我们先建立一个数据字典以免产生误会。

  • 多java 线程状态:指的是这个程序(一个进程)运行时產生了不止一个java 线程状态
  • 并行:多个cpu实例或者多台机器同时执行一段处理逻辑是真正的同时。
  • 并发:通过cpu调度算法让用户看上去同时執行,实际上从cpu操作层面不是真正的同时并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈我们会用TPS或者QPS来反應这个系统的处理能力。
  • java 线程状态安全:经常用来描绘一段代码指在并发的情况之下,该代码经过多java 线程状态使用java 线程状态的调度顺序不影响任何结果。这个时候使用多java 线程状态我们只需要关注系统的内存,cpu是不是够用即可反过来,java 线程状态不安全就意味着java 线程状態的调度顺序会影响最终结果如不加事务的转账代码:

该方法可用于实现乐观锁,考虑文中最初提到的如下场景:a给b付款10元a扣了10元,b偠加10元此时c给b2元,但是b的加十元代码约为:

我要回帖

更多关于 java线程 的文章

 

随机推荐