java 如何秒速写一个线程启动
线程
java 的线程相对c,c++来说基本是类似的,尤其是使用lamba都是非常快速的就能启动一个线程,相对于使用api来说,简化了很多。有几种方式可以使用:
1、使用静态内部类
java的线程类可以直接从Runnable上继承,实现 run()函数即可
static Map<String,String> v_map = new ConcurrentHashMap<String,String>();static class th1 implements Runnable{public void run() {for(int i = 0; i < 10; i ++) { v_map.put(String.valueOf(i), String.valueOf(i)); } //遍历值 for (String value : v_map.values()) {System.out.println("thread1 value = " + value);}}}
调用,直接new Thread ,调用方法start().
new Thread(new th1()).start();
2、直接new Thread
这种方式更为方便,不用写一个class,直接启动线程即可,如果没有其他需要交互的变量和方法,这种方式更为直接。
new Thread(new Runnable(){public void run() {for (String value : v_map.values()) {System.out.println("thread2 value = " + value);}}}).start();
3、lamba简化写法
new Thread(()->{for (String value : v_map.values()) {System.out.println("thread3 value = " + value);}
}).start();
()->的写法开始流行了,这样看起来和用起来更简单了是不是?
下面是所有代码,使用ConcurrentHashMap做实验,多个线程同时操作一个ConcurrentHashMap来演示:
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;public class threadclass {static Map<String,String> v_map = new ConcurrentHashMap<String,String>();static class th1 implements Runnable{public void run() {for(int i = 0; i < 10; i ++) { v_map.put(String.valueOf(i), String.valueOf(i)); } //遍历值 for (String value : v_map.values()) {System.out.println("thread1 value = " + value);}}}public static void main(String[] args) {new Thread(new th1()).start();new Thread(new Runnable(){public void run() {for (String value : v_map.values()) {System.out.println("thread2 value = " + value);}}}).start();//简化 lambdanew Thread(()->{for (String value : v_map.values()) {System.out.println("thread3 value = " + value);}}).start();}
}
输出:
thread1 value = 0
thread1 value = 1
thread1 value = 2
thread1 value = 3
thread1 value = 4
thread2 value = 0
thread2 value = 1
thread1 value = 5
thread2 value = 2
thread2 value = 3
thread1 value = 6
thread2 value = 4
thread2 value = 5
thread1 value = 7
thread1 value = 8
thread2 value = 6
thread2 value = 7
thread1 value = 9
thread2 value = 8
thread2 value = 9
thread3 value = 0
thread3 value = 1
thread3 value = 2
thread3 value = 3
thread3 value = 4
thread3 value = 5
thread3 value = 6
thread3 value = 7
thread3 value = 8
thread3 value = 9
java 如何秒速写一个线程启动相关推荐
- OpenRTMFP/Cumulus Primer(20)Cumulus的一个线程启动 Bug
OpenRTMFP/Cumulus Primer(20)Cumulus的一个线程启动 Bug 作者:柳大·Poechant(钟超) 邮箱:zhongchao.ustc#gmail.com(# -> ...
- java释放锁_java – 一个线程在完成后释放锁吗?
简单测试可能会显示在线程终止时未释放锁定: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock ...
- 【java】Thread.start 它是怎么让线程启动的呢
1.概述 转载:面经手册 · 第19篇<Thread.start() ,它是怎么让线程启动的呢?> 可悲可叹,这个问题,6年了,我才第一次知道. 线程启动分析 new Thread(() ...
- Java直接杀死线程方法_如何杀死一个线程?
1.简介 在这篇短文中,我们将讲述一下java中如果结束一个线程-事实上,这并没有想象中的那么简单,因为 Thread.stop()方法已经被废弃啦. 根据Oracle的解释,stop()方法可以导致 ...
- 深入Java虚拟机(六)线程同步
可以在语言级支持多线程是Java语言的一大优势,这种支持主要集中在同步上,或调节多个线程间的活动和共享数据.Java所使用的同步是监视器. 监视器Monitor Java中的监视器支持两种线程:互斥和 ...
- 如何实现java主线程等待子线程执行完毕之后再执行?
本文转自:问题:如何实现java主线程等待子线程执行完毕之后再执行? - jseven - 博客园 点击关注强哥,查看更多精彩文章呀 工作总往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完 ...
- 让Java程序只运行一个实例
一个程序可以在内存里面存在多个运行实例,比如,你可以打开多个微软的Word程序.但是,有些时候我们需要控制程序运行的实例只有一个,也就是说,该程序同一时刻在内存里面运行的只有一个实例.这样当这个程序在 ...
- java中什么是守护线程_什么是Java的守护线程?
欢迎大家搜索"小猴子的技术笔记"关注我的公众号,有问题可以及时和我交流. 守护线程是一种支持性线程,主要用于后台调度以及支持性的工作.守护线程具备自动结束生命周期的特性,而非守护线 ...
- Java并发编程—Thread类的start()方法是如何启动一个线程的?
目录 一:Java线程介绍 二:Java线程入口分析 三:Java线程的创建 四:总结 周末抽了点时间,研究了下HotSpot是如何创建Java线程的,顺便总结一下.文中引用的源码里删除很多细节,只保 ...
最新文章
- 中科院基因组所高远组诚聘生物信息学方向助理/副研及博士
- SAP零售行业解决方案初阶 4 – 维护品类
- PADS Router VX.2.3 设置光标的类型
- 【Python学习系列二十五】数据结构-有向图绘制
- SourceTree安装破姐添加SSH KEY以及拉取代码教程(附资源下载)
- 直播预告丨揭秘神策数据销售方法论,一起向 Top Sales 迈进!
- nv4_disp.dll 蓝屏
- 关于项目中的日期提交
- GraphQL 到底有什么魔力?
- 分布式数据库DDM Sidecar模式负载均衡
- NTV Media Server G3流媒体服务器搭建经验
- 排球计分程序功能说明书
- ping 丢包 网络摄像头_Ping丢包故障案例
- windows 网卡驱动安装
- QStringLiteral(str)
- weixin公众号页面返回上一层_《解决微信内置浏览器返回上一页强制刷新问题方法》...
- 计算机网络三网,七律四首(手机、电视、计算机网络、三网融合)
- [ML](HMM、MRF、CRF)
- 亥姆霍兹线圈主要用途概述
- 用计算机弹奏音乐的数字乐谱,抖音计算器音乐
热门文章
- 机器人操作系统ROS微信群, 欢迎加我微信: Jdrobots 技术相互学习交流(加我请备注ROS,谢谢!) 。
- url传递中文的解决方案总结
- 一些sql语句的详细解释
- 1599元!荣耀Play6T Pro今日首销:史上最薄5G手机!
- 一年超20万人次在抖音志愿登记器官捐献
- 520 丁磊向全国英语老师“表白”:再送有道词典笔
- 官宣了!百度36亿美元收购YY直播,一个用户“值”87.4美元
- 苹果鼓励美国员工赴中国出差 一天500美元奖金
- 1-9月全国快递服务企业业务量累计完成561.4亿件 同比增长27.9%
- 搜狗520甜蜜告白攻势:爱的心动 让她看见