Java的多线程--线程的概念一个程序同时执行多个任务,通常,每个任务称之为线程(thread),她是线程控制的简称。可以运行一个以上的任务的程序叫做多线程程序。1.感觉线程和进程很像,那么他们的区别是什么?其实他们是有本质的区别:每个进程拥有自己独立的一整套变量,而线程则共享数据。2.在Jav.....
分类:
编程语言 时间:
2014-05-23 04:19:53
阅读次数:
226
1. 深入synchronized关键字 1 class Service{ 2 public void
fun1(){ 3 synchronized(this){ 4 try{ 5 Thread.sleep(3000);...
分类:
其他好文 时间:
2014-05-23 03:28:22
阅读次数:
230
在java中可有两种方式实现多线程,一种是继承
Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的
run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: p.....
分类:
其他好文 时间:
2014-05-21 18:57:11
阅读次数:
249
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口
Collection是最基本的集合接口,一个Collection代表一组Object,即C....
分类:
其他好文 时间:
2014-05-21 18:21:04
阅读次数:
219
Subsections
线程安全(Thread safety)
锁(lock)
共享对象
对象组合
基础构建模块
任务执行
取消和关闭
线程池的使用
性能与可伸缩性
并发程序的测试
显示锁
原子变量和非阻塞同步机制
一、线程安全(Thread safety)
无论何时,只要多于一个线程访问给定的状态变量。而且其中某个线程会写入该变量,此时必须使用同...
分类:
编程语言 时间:
2014-05-21 17:11:45
阅读次数:
500
#include
#include
#include
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OVERFLOW -1
#define OK 1
#define ERROR 0
typedef int Status;
typedef int SElemType;
typedef struct
{...
分类:
其他好文 时间:
2014-05-21 16:31:38
阅读次数:
215
接上文
遗留问题
对于Java多线程的理解,我以前仅仅局限于实现Runnable接口或者继承Thread类,然后重写run()方法,最后start()调用就算完事,但是一旦涉及死锁以及对共享资源的访问和随时监控线程的状态和执行顺序和线程返回值等就不行了。
Callable 和 Future 简介
Callable接口代表一段可以调用并返回结果的代码;Future接口表示是执行异步任务...
分类:
移动开发 时间:
2014-05-21 13:40:13
阅读次数:
371
There are two types of non-blocking thread synchronization algorithms
- lock-free, and wait-free. Their meaning is often confused. In lock-free systems, while any particular computation may be block...
分类:
其他好文 时间:
2014-05-21 10:27:20
阅读次数:
410
从多任务OS开始,线程主要用来表示IO异步;而今随着4G和多核等的到来,计算密集型又热门起来了。
硬件价格和性能从低到高:
PC/Laptop multi core, memory shared
PC clusters
SuperComputers
假设一个理想并行计算机:每个处理器计算能力相同,忽略调度,
static thread 是对一个虚拟处理器的软件层面的抽象;
s...
分类:
其他好文 时间:
2014-05-21 08:17:39
阅读次数:
326
#include "STC12C5A.H"
#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C
初始10ms
#define MAX_TASKS 8 //任务槽最大个数.
unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节。
unsi...
分类:
编程语言 时间:
2014-05-21 08:12:12
阅读次数:
285