sing

python 进程线程简单理解

戏子无情 提交于 2020-03-28 07:44:13
简单的理解 1、线程:最小的执行单元;进程:最小的资源单元 2、一个程序至少有一个进程,一个进程至少有一个线程(线程可以理解为线程的容器) 3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存 4、每一个独立的线程都有 程序的入口,顺序执行的序列和程序出口 ,但是线程不能独立执行,必须由应用程序提供多个线程执行控制 5、进程是系统进行资源分配和调度的一个独立单元 多线程的代码开启 import threading import time def sing(): print("begin to sing %s" % time.ctime()) time.sleep(3) print("stop to sing %s" % time.ctime()) def jump(): print("begin to jump %s" % time.ctime()) time.sleep(5) print("stop to jump %s" % time.ctime()) def rap(): print("begin to rap %s" % time.ctime()) time.sleep(7) print("stop to rap %s" % time.ctime()) def play_basketball(): print("begin to play_basketball %s"

python 线程

微笑、不失礼 提交于 2020-03-11 06:53:06
创建线程: tsing=threading.Thread(target=sing,name="唱",args=(a,)) #创建的线程的目标:sing(执行sing函数),线程的名字为“唱“,主线程向子线程传递参数a(为元组类型) 获取当前线程的名字:threading.current_thread().name 来源: https://www.cnblogs.com/xkdn/p/12460160.html

原型 原型链

走远了吗. 提交于 2020-03-09 09:32:19
文章目录 一、构造函数和原型 二、原型 三、对象原型__proto__ 四、constructor 构造函数 五、原型链 六、原型对象this指向 一、构造函数和原型 创建对象可以通过以下三种方式: 1、对象字面量 var obj2 = { } ; 2、new Object() var obj1 = new Object ( ) ; 3、自定义构造函数(对象有很多的公共属性和方法 抽取出来做一个模板 然后再大量的生产对象) function Star ( uname , age ) { this . uname = uname ; this . age = age ; this . sing = function ( ) { console . log ( "唱歌" ) } } //利用构造函数创建对象 var ldh = new Star ( "刘德华" , 18 ) ; var zxy = new Star ( "张学友" , 19 ) ; console . log ( ldh ) ; ldh . sing ( ) ; zxy . sing ( ) ; 构造函数 是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new一起使用,我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。 new在执行时会做四件事: 在内存中创建一个新的空对象

Java 简单笔记——代码块

北慕城南 提交于 2020-03-03 01:16:42
代码块 代码块是一个比较简单的概念,因为这里涉及到static所修饰,所以在这里写一篇为了以后的说明; 概念 代码块:声明在类中,被一对“{}”所括起来,里面多为属性赋值的语句; class sing { private int a ; private int b ; //代码块 { a = 3 ; b = 4 ; } 看起来很简单对不对?其实这个东西很好玩; 首先,先说明一件事—— Java中关于赋值的操作 的顺序 1.初始化的默认值——>2.显示的初始化或代码块(他们按照顺序进行)——>3.构造器——>4.通过方法对对象的属性进行修改。 然后,将代码块分成2类:静态代码块和非静态代码块; 1.非静态的代码块 1.可以对类的属性(静态和非静态)进行初始化操作,同时也可以调用本类中所声明的方法(静态和非静态); 2.里面可以有输出语句; 3.一个类中可以有多个代码块,按照顺序执行; 4.对于非静态的代码块,类每创建一个对象代码就执行一次; 5.非静态的代码块执行早于构造器。 简单代码: public class Main { public static void main ( String [ ] args ) { sing a = new sing ( ) ; sing b = new sing ( ) ; } } class sing { private static int

组合数据类型练习,英文词频统计实例上

这一生的挚爱 提交于 2020-02-21 22:06:18
1字典实例:建立学生学号成绩字典,做增删改查遍历操作。 d={} name=['a','b','c','kris'] sco=[65,75,85,100] ok=dict(zip(name,sco)) #增# ok['mine']=95 #删 ok.pop('c') #改 ok['a']="70" 2列表,元组,字典,集合的遍历。 总结列表,元组,字典,集合的联系与区别。 答:区别: 1.列表,元组,字典是有顺序的,而集合是没顺序的 2.列表是以方括号形式表示,元组是以圆括号表示,字典以花括号表示,集合则是以[()]的形式表示 3.列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素,区别于元组,可动态增加,删除,更新。 4.元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。 5.集合没有特殊的表示方法,而是通过一个set函数转换成集合。集合是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.。 6.字典最大的价值是查询,通过键,查找值。 lst=['1','2','3','3','21'] print

@Primary

纵饮孤独 提交于 2020-02-05 00:53:27
在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。 public interface Singer { String sing(String lyrics); } 有下面的两个实现类: @Component // 加注解,让spring识别 public class MetalSinger implements Singer{ @Override public String sing(String lyrics) { return "I am singing with DIO voice: "+lyrics; } } //注意,这里没有注解 public class OperaSinger implements Singer { @Override public String sing(String lyrics) { return "I am singing in Bocelli voice: "+lyrics; } } 下面就是注入上面的接口实现类: @Component public class SingerService { private static final Logger

229 ES5构造函数的问题

倾然丶 夕夏残阳落幕 提交于 2020-01-20 21:04:58
构造函数方法很好用,但是存在浪费内存的问题。 function Star(uname, age) { this.uname = uname; this.age = age; this.sing = function(song) { console.log(`${this.uname}唱${song}`); } } var s1 = new Star('刘德华', 11); var s2 = new Star('张学友', 22); console.log(s1.sing === s2.sing); // false,说明实例对象的sing方法并不是同一个 来源: https://www.cnblogs.com/jianjie/p/12219340.html

228 静态成员和实例成员

混江龙づ霸主 提交于 2020-01-20 19:53:59
1.2.1 实例成员 实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age sing 就是实例成员,实例成员只能通过实例化的对象来访问 function Star(uname, age) { this.uname = uname; this.age = age; this.sing = function() { console.log('我会唱歌'); } } var ldh = new Star('刘德华', 18); console.log(ldh.uname);//实例成员只能通过实例化的对象来访问 1.2.2 静态成员 静态成员 在构造函数本身上添加的成员 如下列代码中 sex 就是静态成员,静态成员只能通过构造函数来访问 function Star(uname, age) { this.uname = uname; this.age = age; this.sing = function() { console.log('我会唱歌'); } } Star.sex = '男'; var ldh = new Star('刘德华', 18); console.log(Star.sex);//静态成员只能通过构造函数来访问 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

【java设计模式】之 代理(Proxy)模式

牧云@^-^@ 提交于 2019-12-23 16:10:46
代理模式的核心作用就是通过代理,控制对对象的访问。这跟实际中是一样的,比如说明星都有经纪人,这就是一个代理,比如有人要找某明星拍戏,那么首先处理这事的是他的经纪人,虽然拍戏需要自己拍,但是拍戏前后的一些必须要做的事等等,都由这个经纪人来处理。   在程序中也是如此,通过代理,可以详细控制访问某个或者某类对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。这也是AOP的实现原理。   那么代理模式的核心角色该如何设计呢? 设计思路:定义一个抽象角色,让代理角色和真实角色分别去实现它。 1. 真实角色:实现抽象角色, 定义真实角色所要实现的业务逻辑,供代理角色调用 。 它只关注真正的业务逻辑 ,比如拍戏。 2. 代理角色:实现抽象角色, 是真实角色的代理,通过真是角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作 ,比如谈合同,布置场地等等。    下面来具体实现这个代理模式,代理模式分为静态代理和动态代理。静态代理是我们自己创建一个代理类,而动态代理是程序自动帮我们生成一个代理,我们就不用管了。 1. 静态代理 根据上面的实现步骤,首先来写一个抽象角色: /** * @Description 接口类 * @author shanheyongmu * */ public interface Star { public void confer(); //面谈

单例模式Demo

匿名 (未验证) 提交于 2019-12-02 23:32:01
懒汉模式实现单例 public class singleMode { private static singleMode sing = null; private singleMode () { /** * 必须私有化构造方法,避免外部创建新对象 */ } public static singleMode getSing() { /** * 线程不安全,可能会多个线程进入if语句创建出新对象,解决方法加synchronized同步新建对象操作 */ if (sing == null) sing = new singleMode(); return sing; } } 懒汉模式实现单例加同步模块 class singleMode1 { /** * 懒汉模式实现单例加同步模块 */ private static singleMode1 sing = null; private singleMode1 () { /** * 必须私有化构造方法,避免外部创建新对象 */ } public static singleMode1 getSing() { /** * 此时解决了同步问题但是可能会导致对象溢出 * JVM在创建对象时会执行三个操作: * 1.为对象分配空间 * 2.初始化对象 * 3.设置instance指向第一步创建的空间 *