多线程初步
来源:互联网 发布:青岛广电的网络电视 编辑:程序博客网 时间:2024/05/22 03:07
为了加快系统运行速度,提高系统的相应速度,java提供了多线程技术,开启线程的个数根据可用processor数量合理分配,负责开启过多的线程,线程的上下文切换会消耗很多的资源。
实现代码:
public class ThreadDemo {private List<String> list = new ArrayList<String>();private void initList(){for(int i = 0 ; i < 200000 ; i++){list.add("abc" + i);}} public static void main(String[] args) {ThreadDemo client = new ThreadDemo();client.fun(); //client.fun1(); }/** * @Description 使用多线程,最大化使用硬件资源 * */public void fun(){initList();int processorCount = Runtime.getRuntime().availableProcessors();for(int i = 0 ; i < processorCount ; i++){new MyThread(list).start(); } } /** * @Description 单线程 * */public void fun1(){initList();while(list.size() > 0){ String result = list.get(0); System.out.println("主线程读取结果:"+ result); list.remove(0);}}}class MyThread extends Thread{private List<String> list ; public MyThread(List<String> list){this.list = list;}@Overridepublic void run() {while(list.size() > 0){synchronized (list) {if(list.size() == 0){return ;} long currentThreadId = Thread.currentThread().getId();String result = list.get(0);System.out.println("当前线程标示:" + currentThreadId + ",读取结果:"+ result);list.remove(0);}}}}
0 0
- 多线程初步
- 多线程初步
- 多线程初步
- 多线程初步
- Java多线程编程初步
- .net 多线程初步(1)
- .net 多线程初步(2)
- 多线程学习初步
- 多线程学习初步
- linux多线程初步
- java 多线程初步
- Java多线程编程初步
- 多线程学习初步
- 多线程学习初步
- Windows多线程程序设计初步
- Java多线程编程初步
- 多线程初步练习
- Java多线程程序设计初步
- OVS datapath模块分析:基本架构
- JS 异步队列的实现
- 软件设计是怎样炼成的(1)——什么是优秀的设计?
- 也许爱情只是因为寂寞,需要找一个人来爱
- vs2012智能提示突然不能用了
- 多线程初步
- SGMLParser (二)
- java 面试题锦集
- Uva 11991
- 关于IE里模态窗口的一些问题
- 纯Struts2 AJAX树实现方式及源码
- HDU 4778 Gems Fight!_状压
- 键盘上每个键的作用
- hdu——2564——词组缩写