进程:一个进程就是一个程序 线程:进程里面的最小的执行单元,干活的是线程 一个进程里面最少有一个线程(主线程),可以有多个线程(子线程) 线程之间是相互独立的。主线程和子线程也是相互独立的。 主线程会从头到尾执行命令。不会等待子线程。子线程执行完以后就消了 守护线程: 守护线程就是和秦始皇陪葬的人一 ...
分类:
编程语言 时间:
2018-08-04 18:42:50
阅读次数:
126
[TOC] 1.1 简介 本章介绍在C 中实现线程同步的几种方法。因为多个线程同时访问共享数据时,可能会造成共享数据的损坏,从而导致与预期的结果不相符。为了解决这个问题,所以需要用到线程同步,也被俗称为“加锁”。但是 加锁绝对不对提高性能,最多也就是不增不减 ,要实现性能不增不减还得靠高质量的 同步 ...
分类:
编程语言 时间:
2018-08-03 22:38:56
阅读次数:
263
一、使用CSS3动画代替JS动画 JS动画频繁操作DOM导致效率非常低 在频繁的操作DOM和CSS时,浏览器会不停的执行重排(reflow)和重绘(repaint) 可以避免占用JS主线程 这边就不细说这两者具体的低优缺点。一般做2D动画的话,可以使用CSS3的transition或animatio ...
分类:
Web程序 时间:
2018-08-03 14:27:42
阅读次数:
219
在多线程情况下,当多个线程操作同一个资源的时候,会出现安全问题,例如脏读(一个线程咋读取变量的时候,值已经被另一个线程改变)。 synchronized关键字:可用来同步方法或者代码块。有关synchronized,总结一下几条。 1 synchronized关键字锁的是对象,当多个对象会创建多个锁 ...
分类:
编程语言 时间:
2018-08-02 20:54:50
阅读次数:
130
一、基本概念 线程:在进程中负责执行代码的一个单位,进程的一部分,一个进程至少要有一个线程,也就是主线程,当然一个进程也可以有多个线程,这就需要创建了,下面会讲到线程的创建。 进程中的代码段、只读段、全局段、静态数据段、堆、命令行、环境变量表、文件描述符、信号处理函数等这些资源对于线程来说都是共享的 ...
分类:
编程语言 时间:
2018-08-02 20:35:32
阅读次数:
126
今天帮同事看一个问题,她用为了实现动画效果用主线程执行Thread.Sleep,然后界面就卡死了。 这个问题好解决,new 一个Thread就行了,但是更新WPF的界面需要主线程的操作,然后习惯性的打出Invoke,但是居然没有。百度了一下发现WPF要用Dispatcher.Invoke ,故写篇日 ...
在脚本运行过程中有一个主线程,若在主线程中创建了子线程,当主线程结束时根据子线程daemon属性值的不同可能会发生下面的两种情况之一: 如果某个子线程的daemon属性为False,主线程结束时会检测该子线程是否结束,如果该子线程还在运行,则主线程会等待它完成后再退出; 如果某个子线程的daemon ...
分类:
编程语言 时间:
2018-08-02 13:51:44
阅读次数:
102
1.主进程会等待所有子进程结束后才会程序结束 2.主线程也会等待所有子线程结束后才会主线程结束 3.from multiprocessing import Pool这个进程池,并不会等待所有的进程运行完成,而是主线程代码执行完成后程序就立即结束 . 所以这个进程池需要加p.close()和p.joi ...
分类:
编程语言 时间:
2018-08-02 00:12:35
阅读次数:
277
SystemDomain::ExecuteMainMethod处下断点,是一个非常折中的方案,不会过于深入clr内部,也不会随随便便被hook住运行到这里的时候主程序集已经被这些非托管壳还原到对应位置为什么这说,请看下图 这是主线程的调用堆栈(我在主线程里运行了消息泵,所以暂停住了)可以看到底端是不 ...
分类:
数据库 时间:
2018-08-01 11:42:22
阅读次数:
233
在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收。当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线程运行,这个线程就是主线程main,在主线程中所创建的新的线程都是子线程,子线程通常都是做一些辅助的 ...
分类:
编程语言 时间:
2018-07-30 21:32:36
阅读次数:
439