3.8补

3.8 java基础总结①多线程

多线程

多线程这章理论大于实践,因为在实际开发中多线程的都封装到框架里边了的,程序员一般不会写多线程,多线程属于Java里边比较底层的代码了。

线程是处理器调度的最基本单位
程序>进程>线程
程序是死的,当启动程序得时候会有一个或几个进程,每个进程里边可以有诺干线程。基于线程开销更

创建线程:两种方法
1、声明Thread的子类,重写run方法
class MyThread extends Thread{
public void run(){
}
}
Mythread a = new MyThread();
a.start;

2、实现Runnable接口,实现run方法
class MyThread2 implements Runnable{
public void run(){}
}
Mythread2 b = new MyThread2();
Thread bb = new Thread(b);
bb.start;
调用线程的带实现Runnable接口的有参构造,进行实例化对象
这个方法常用,因为Java单继承,但可以多实现

线程的主要方法:
-start 启动,调用run方法,直接调用run方法相当于普通方法,不是线程
-sleep 暂停,静态的,可以暂停线程多少毫秒
-yield 让出CPU的控制权,让别人先执行,

设置优先级(1-10)10最大,优先级大的并不绝对先执行,也不是先运行完再运行其他
而是抢占的资源多

wait-notify 机制
线程间相互通信
只能用在synchronized里边,
wait:让使用对象的线程停止运行,进入等待,直到另一个使用该对象的线程运行notify
notify:线程在运行中遇到notify,环形使用相同对象的第一个碰到wait的线程

同步块,同步方法
synchronized:
上锁,保护对象,可以是本身或者其他对象,
在运行到同步块或者同步方法的时候,其他对象不能运行这里边代码,必须这个线程运行完之后,其他的才能运行这里边的代码
保证了一些数据的准确性(比如很多个对象同时读写(访问)一个资源)

同步块:可以锁本身对象或者其他对象,块的代码比方法少,减少其他线程的等待时间
同步方法:只能锁本身对象,

时间: 2025-01-02 05:42:59

3.8补的相关文章

昨天没写今天补上

恩因为今天要考试所以昨天晚上在复习,没来得及写,现在补上. 昨天依旧是循环,被虐了整整一天! 到现在仍然不知道for里的循环体怎么写.... 感到人生无望...(不想说什么了粘题吧) p1032;#include〈iostream〉 using namespace std; int main () { long long a,b=0,c,d,sum=0; cin>>a; while (a>0) { d=a/10; sum++; for(int i=1;i<=sum;i++) { c

python tab补全

让python的交互解释器支持tab补全.提示功能 方法1: 一.执行python脚本 1.创建一个python脚本,以.py结尾: 脚本如下: import sys import readline import rlcompleter import atexit import os readline.parse_and_bind('tab:complete') histfile =os.path.join(os.environ['HOME'], '.pythonhistory') try: r

补零与离散傅里叶变换的分辨率

离散傅里叶变换(DFT)的输入是一组离散的值,输出同样是一组离散的值.在输入信号而言,相邻两个采样点的间隔为采样时间Ts.在输出信号而言,相邻两个采样点的间隔为频率分辨率fs/N,其中fs为采样频率,其大小等于1/Ts,N为输入信号的采样点数.这也就是说,DFT的频域分辨率不仅与采样频率有关,也与信号的采样点数有关.那么,如果保持输入信号长度不变,但却对输入信号进行补零,增加DFT的点数,此时的分辨率是变还是不变? 答案是此时分辨率不变.从时域来看,假定要把频率相差很小的两个信号区分开来,直观上

Elasticsearch in java 范例:自动补齐功能(completion suggester)

ES(elasticsearch)的suggester共有四类(term suggester, phrase suggester, completion suggester, context suggester), 其中completion suggester作为搜索框中的自动补齐功能,尤为常用. 本文将用java语言实现一个简单例子来叙述如何使用completion suggester. 例子的主要功能是为股票的名称和编号建立自动补齐功能. 实现一个完整的completion suggeste

linux下的python如何使用tab键补全

一.vim下的补全: pydiction插件 实现功能: 简单python关键词补全 python 函数补全带括号 python 模块补全 python 模块内函数,变量补全 安装步骤: cd ~ wget https://github.com/rkulla/pydiction/archive/master.zip unzip master.zip mkdir -pv ~/.vim/tools/pydiction cp -r pydiction-master/after ~/.vim cp py

code M资格赛 补题

A: 音乐研究 时间限制:1秒 空间限制:32768K 美团外卖的品牌代言人袋鼠先生最近正在进行音乐研究.他有两段音频,每段音频是一个表示音高的序列.现在袋鼠先生想要在第二段音频中找出与第一段音频最相近的部分. 具体地说,就是在第二段音频中找到一个长度和第一段音频相等且是连续的子序列,使得它们的 difference 最小.两段等长音频的 difference 定义为:difference = SUM(a[i] - b[i])2 (1 ≤ i ≤ n),其中SUM()表示求和 其中 n 表示序列

VIM的自动补全

自动补全可以很好的提高输入的效率: 触发自动补全的方法总结: 可供弹出式菜单的使用的命令: 其它再补充:

Linux Vim中自动补全Python插件:Pydiction

Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件. Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件. python_pydiction.vim  -- Vim plugin that autocompletes Python code. complete-dict         -- Dictionary file of Python keywords, modules, etc. pydiction.p

TensorFlow实现基于深度学习的图像补全

目录 ■ 简介 ■ 第一步:将图像理解为一个概率分布的样本 你是怎样补全缺失信息的呢? 但是怎样着手统计呢?这些都是图像啊. 那么我们怎样补全图像?  ■ 第二步:快速生成假图像 在未知概率分布情况下,学习生成新样本 [ML-Heavy] 生成对抗网络(Generative Adversarial Net, GAN) 的架构 使用G(z)生成伪图像 [ML-Heavy] 训练DCGAN 现有的GAN和DCGAN实现 [ML-Heavy] 在Tensorflow上构建DCGANs 在图片集上跑DC

Ubuntu 16.04.2 LTS 安装python vim自动补全工具pydiction

Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件. 下载Pydiction mkdir ~/.vim mkidr ~/.vim/tools cd ~/.vim/tools #可以先下载好放到Ubuntu系统中 git clone https://github.com/rkulla/pydiction.git 配置Pydiction #- UNIX/LINUX/OSX: Put python_pydiction.vim in ~/.vim/after