`

多线程编程模型

阅读更多

一.加密技术分类
1.消息摘要算法(保证消息完整性)
摘要=加密(内容)
MD5(速度快,128位)和SHA(更安全的算法,160位)

    2. 对称密钥(私钥加密)
秘文=加密(明文,密钥), 明文=加密(秘文,密钥)
DES(56位),RC4,RC5,AES(128,192,256),BlowFish(32~448)

   3. 非对称加密(公共密钥)
秘文=加密(明文,私钥), 明文=加密(秘文,共钥)
RSA

二.线程相关的类

1.Thread
主线程调用start启动,在新线程中执行run方法
2.Runnable
抽象的run方法,可作为独立的可执行对象
3.Timer/TimerTask
独立的线程中维护一个有序的TimerTask队列,满足某时间条件时,在该线程中调用相应TimerTask的run
有阻塞风险,只有一个执行线程
4.Executor/ExecutorService/ScheduledExecutorService/ScheduledThreadPoolExecutor和ScheduledFuture
对Timer的扩展,支持单一执行线程,有限线程池,每任务每线程集中执行模型


三.多线程编程模型
1.One Request One Thread
优点:逻辑简单
缺点:浪费资源,线程数目不可控
2.Master/Slave
一个线程负责检测事件,使用线程池中的线程来处理事件
优点:相对节约资源,线程数目可控
3.Leader/Follower
一个线程检测事件,检测到之后立刻处理,通知线程池中其它线程继续检测事件
优点:减少处理时的切换,更加高效

四.多线程容器
同步容器
通过访问加锁,避免多线程并发访问来保护资源
比较影响性能
Collections.synchronizedXXX(XXX c)
并发容器
通过最大限度允许并发读访问
针对读远大于写的访问优化
ConcurrentHashMap通过多个细粒度的写锁和针对java内存模型的优化
CopyOnWriteArrayList/Set,写入时复制

分享到:
评论

相关推荐

    多线程编程模型API

    《多线程编程模型》 注:多线程相关知识包括: 1. 多线程中各种 对象的 概念 2. OS的多线程 各种 对象的api 注:操作系统的多线程(或多进程)相关各种 对象的API主要包括以下几类: 1. 线程(或进程)的创建和终止...

    Linux多线程服务端编程-使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    异步/多线程/任务/并行编程之一:如何选择合适的多线程模型?

    本篇文章小编为大家介绍,异步/多线程/任务/并行编程之一:如何选择合适的多线程模型?需要的朋友参考下

    Linux多线程服务端编程:使用muduo C++网络库

    本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。这是在Linux 下以native 语言编写用户态高性能...

    Linux多线程服务端编程 陈硕

    本书主要讲述采用现代 C++ 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高...

    Linux多线程服务端编程-陈硕.pdf

    本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。这是在Linux 下以native 语言编写用户态高性能...

    实验二、嵌入式Linux多线程编程实验

    2. 利用信号量的PV操作完成完成以下单个生产者和单个消费者模型的代码。 3. 编写在Ubuntu中编译执行的makefile文件,然后在Ubuntu中执行。 4. 编写在实验箱中编译执行的makefile文件,然后在实验箱中执行。注意...

    C_C++ 多线程编程精髓_专栏.rar

    由浅入深的介绍 linux windows下多线程程序设计,线程池模型设计,针对多线程编程,详细地介绍 Windows 和 Linux操作系统层面上提供的各种多线程接口,理解并熟悉它们的使用操作系统层面上关于多线程和多线程协作的...

    内存模型-多线程内存模型

    内存模型是C++09最重大的特性之一,之所以重大是因为多线程并发编程将成为下一个十年的主题之一,对此 C++小胡子Herb Sutter早有精彩的论述。

    Java并发编程实践

    虽然当前CPU主频在不断升高,但是X86架构的硬件已经成为瓶颈,这种架构的CPU主频最高为4G,事实上目前3.6G主频的CPU已经接近顶峰,多线程编程模型不仅是目前提高应用性能的手段,更是下一代编程模型的核心思想

    Linux多线程服务端编程

    本书主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服 务程序的主流常规技术, 这也是我对过去5年编写生产环境下的多线程 服务端程序的经验总结。 本书重点讲解多线程...解这种编程模型的使用方法及注意事项

    多线程编程的各种适用环境说明

    在linux环境下如何选择多线程的编程模型。

    多线程服务器的常用编程模型

    文中的“ 多线程服务器” 是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intelx64 系列的多核 CPU, 单路或双路 SMP 服务器(每台机器一共拥有四个核或八个核,十几 GB 内存) ,机器之间用百兆或...

    多线程编程指南PDF

    2 基本线程编程.............................................................................................................................................23 线程库.......................................

    普通的SOCKET多线程阻塞模型

    最普通的Socket多线程阻塞通信模型

    多线程网络服务器的常用编程模型

    多线程网络服务器的常用编程模型

    《Linux多线程服务端编程:使用muduo C++网络库》.rar

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    Java多线程编程总结

    Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程...

    java多线程编程总结

    详细的讲述了多线程的各种用法 Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠...

Global site tag (gtag.js) - Google Analytics