一、概念基础 进程:正在进行中的程序(直译). 线程:就是进程中一个负责程序执行的控制单元(执行路径) 一个进程中可以多执行路径,称之为多线程。 一个进程中至少要有一个线程。 开启多个线程是为了同时运行多部分代码。 每一个线程都有自己运行的内容。这个内容可以称为线程要执行的任...
分类:
编程语言 时间:
2015-07-23 00:28:25
阅读次数:
100
在操作系统中有一类问题被称为生产者消费者问题:意为,有数个生产者生产产品,有数个消费者消费产品,他们共享一定数量的缓存。这里用java多线程编程,实现生产者消费者问题的一种延伸,橘子苹果问题。题目如下:有苹果橘子生产者各20个,有苹果橘子消费者各20个,他们公用20个缓存区。要求能随时查看缓存区内容...
分类:
编程语言 时间:
2015-07-19 23:05:57
阅读次数:
152
Java多线程编程(1) 继承Thread类实现多线程代码示例:package com.example.thread; public class MyThread { /** * @param args */ public static void main(String...
分类:
编程语言 时间:
2015-07-09 12:37:23
阅读次数:
92
1.多线程基本概念1.1 进程和线程进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数...
分类:
编程语言 时间:
2015-06-30 12:18:34
阅读次数:
124
1.多线程基本概念1.1进程和线程进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执..
分类:
编程语言 时间:
2015-06-28 20:17:08
阅读次数:
187
多线程能满足程序员编写非常有效率的程序来达到充分利用CPU的目的,因为CPU的空闲时间能够保持在最低限度。有效利用多线程的关键是理解程序是并发执行而不是串行执行的。例如:程序中有两个子系统需要并发执行,这时候就需要利用多线程编程。线程的运行中需要使用计算机的内存资源和CPU。
一、 进程与线程的概念
这两者的概念,这里只给出自己狭隘的理解:
进程
进程是一个独立的活动的实...
分类:
编程语言 时间:
2015-06-23 17:55:08
阅读次数:
143
一种是继承Thread类,一种是实现Runable接口,还有一种是实现callable接口;有博主说只有前面2种方式,我个人愚见是三种,主要详细介绍下callable的使用;三种线程的我的个人理解:thread 是最简单的,简单粗暴也是最基础的,复写run()方法,start启动就好了;runabl...
分类:
编程语言 时间:
2015-06-12 18:59:17
阅读次数:
144
1、不选择java原生nio的原因 (1)nio的类库和api繁杂 (2)需要具备其他的额外的技能做铺垫,例如熟悉java多线程编程。 (3)可靠性能力补齐的工作量和难度都非常大,例如客户面临断连重连、网络闪断、半包读写、失败缓存、网络拥塞和异常码流的处理等问题。 (4)jdk nio的bug,例如...
分类:
Web程序 时间:
2015-06-07 12:24:26
阅读次数:
177
不管我是多么喜欢JAVA但是,从实际开发角度讲,Java的多线程确实没有C++好使。表现在:1.Java没有全局变量;2.Java的线程之间的通信比较差,C++提供了多种通信方式;3.Java的数据同步是通过synchronized来实现,但是基本上等于交给了虚拟机来完成,而C++有很多种:临界区、...
分类:
编程语言 时间:
2015-05-22 15:04:59
阅读次数:
110
Java多线程编程模式实战指南一:Active Object模式(上)
分类:
编程语言 时间:
2015-05-17 22:00:27
阅读次数:
136