4.3 这一章节我们来讨论一下关于ThreadLocal的使用的时候需要注意的地方ThreadLocal主要的使用是get、set、initialValue这几个方法,具体的使用我们这里不做介绍,下面只是举一些它使用的时候需要注意的地方。1.在get方法的时候出现nullpackage com.ray.deepintothread.ch04.topic_3;public class ThreadLo...
分类:
编程语言 时间:
2016-06-21 07:37:52
阅读次数:
125
最近用到使用多线程处理给用户发送站内消息的问题,想到使用java自带的线程池进行处理这个问题,具体如下:
定义一个线程:package com.qlwb.util;import org.apache.log4j.Logger;import redis.clients.jedis.ShardedJedis;import com.qlwb.common.redispool.BusinessRedisP...
分类:
编程语言 时间:
2016-06-21 07:30:40
阅读次数:
109
多线程的Seervlet模型
Servlet规范定义,在默认情况下(Servlet不是在分布式的环境中部署),Servlet容器对声明的每一个Servlet,只创建一个实例。如果有多个客户请求同时访问这个Servlet,Servlet容器如何处理这多个请求呢?答案是采用多线程,Servlet容器维护一个线程池来服务请求。线程池实际上是等待执行代码的一组线程,这些线程叫做工作者线程...
分类:
编程语言 时间:
2016-06-21 07:27:13
阅读次数:
129
一进程和线程
(1)进程和线程的基本概念
进程:程序(任务)的执行过程;持有资源(共享内存,共享文件)和线程。
线程:是一个程序内部的顺序控制流。
我们生活中的进程例子很多,一个进程就相当于一个你在电脑上启动的程序。比如我们打开最常用的聊天工具
QQ,也可以打开Java的开发工具Eclipse等等。这些都算Window操作系...
分类:
编程语言 时间:
2016-06-21 07:24:39
阅读次数:
226
一线程创建的两种方式比较
线程创建和启动有两种方式,这里只是列出步骤,不再进行详细解释。
(1)继承Thread类
class MyThread extends Thread{
public void run(){
...
}
}
MyThread mt=new MyThread();//创建线程
mt.start();//启动...
分类:
编程语言 时间:
2016-06-21 07:24:13
阅读次数:
229
二Java多线程
(4)线程的状态
线程状态转换示意图:
线程控制的基本方法:
1)sleep()方法
可以调用Thread的静态方法:
public static void sleep(long millis) throws interruptedException
使...
分类:
编程语言 时间:
2016-06-21 07:23:02
阅读次数:
244
知识点小结:(具体看例子)
多线程:
线程是程序中单独创建的控制单元,是并发执行的程序。外部顺序执行的程序叫做主线程。
线程是多任务操作系统调用CPU来回切换的程序。
注意:线程开启要用start方法,虚拟机调用底层向操作系统申请一个单独线程。如果你只执行run方法,
那么并没有开启一个线程,仅仅是一个普通类的方法,那么是在主线程中顺序执行的。你开启start是虚...
分类:
编程语言 时间:
2016-06-21 07:08:59
阅读次数:
234
一共享变量在线程间的可见性
(1)有关可见性的一些概念介绍
可见性:一个线程对共享变量值的修改,能够及实地被其他线程看到。
共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。所
有的变量都存储在主内存中。
线程的工作内存:每个线程都有自己独立的工作内存,里面保存该线程使用到的变量的...
分类:
编程语言 时间:
2016-06-21 07:07:41
阅读次数:
330
这篇博文是本人学习《Java网络程序设计》书中第6章中多线程的学习总结,这篇博客只是让大家总体了解一下多线程,并没有深入讲解多线程,算是对多线程的入门吧!所有源代码都在文章最后我的github链接代码中。
——惠州学院13网络工程 吴成兵 20160619...
分类:
编程语言 时间:
2016-06-21 06:52:20
阅读次数:
338