最近都很忙,忙着把公司的Python回测框架完成。前两天公司同事抱怨 C/C++调用Python超级烦人,动不动就返回NULL,而且内存暴涨,于是我决定尝试解决这个问题,提供一套完整的开发流程,供大家技术分享。要完成C/C++调用Python最好是熟悉C/C++和Python,否则出了问题就比较难解决。 Visual Studio / Python 环境搭建C++调用Python的接口示例C++多            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-21 06:33:56
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近在深入学习多线程方面的知识,关于多线程,我们在开发中常用到的是用线程池去处理各种业务逻辑
譬如 一段大的集合对象,想要快速的插入到数据库,我们可以循环插入,也可以用线程池的方式来同时插入
或者是 调用接口,每个对象一次次的调用接口 ,也可以使用多线程来调用接口
下面这段代码 可以处理这个问题            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-10-21 12:40:52
                            
                                819阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            pthread_creat()中的线程标识pthread_t是非可移植的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2009-08-26 10:52:46
                            
                                1353阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            线程、线程安全、线程状态            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-23 12:39:58
                            
                                319阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。 Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-11 22:16:25
                            
                                94阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 12:14:37
                            
                                184阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            There are a number of ways to enter the thread pool:
Via the Task Parallel Library (from Framework 4.0)
By calling ThreadPool.QueueUserWorkItem
Via asynchronous delegates
Via BackgroundWorker
&nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2011-03-08 23:40:31
                            
                                1010阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.认识线程(Thread)1.1概念进程是系统分配资源的最小单位,线程时系统调度的(cpu执行指令)的最小单位。一个进程内的线程之间是可以共享资源的。每个进程至少有一个线程的存在,这个线程就被称为主线程(指的是C语言的main函数,而非java main函数)。1.2接触观察进程和线程线程可以通过JDK提供的java监控工具或命令来观察。 运行方式:双击,或者在cmd中输入命令 运行测试程序1,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 21:25:45
                            
                                1203阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## Java线程池:主线程、线程等待、子线程结束
在Java编程中,我们经常遇到需要同时执行多个任务的情况。为了提高效率和资源利用率,我们可以使用线程池来管理和调度这些任务。线程池是一种线程管理的技术,它允许我们在应用程序中创建多个线程,并将它们分配给不同的任务。本文将介绍Java线程池的基本概念,并通过代码示例演示如何使用线程池来管理任务的执行。
### 什么是线程池?
线程池是一组预先            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-23 06:10:41
                            
                                954阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            pthread_exit()退出线程本身,pthread_join()以阻塞方式等着别人退出            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2009-08-26 23:46:02
                            
                                977阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我在这个只讲最最简单的锁,pthread_mutex_t结构,其中mutex是互斥的意思            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2009-08-28 10:05:00
                            
                                512阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录进程进程的三种基本状态线程进程、线程的区别线程的6种状态线程的生命周期线程的2种创建方式线程常用方法线程协作线程死锁线程池并行、并发为什么不使用多进程而是使用多线程? 进程进程是是应用程序运行的载体,是程序的一次执行过程,是临时的、有生命周期的,由程序、数据和进程控制块三部分组成,进程之间相互独立。 进程的三种基本状态就绪(ready)状态:进程准备就绪,获得CPU时间片后可立即运行。就绪的进行放在就绪队列中,操作系统按指定的调度策略分配cpu时间片。运行(runni            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-07 16:11:26
                            
                                1423阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 1.4 线程协作 生产者消费者模式 应用场景:生产者和消费者问题 - 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费.- 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止.- 如果仓库中放有产品﹐则消费者可 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-05 22:36:00
                            
                                345阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1.进程是指一个独立空间的一个应用程序 2.线程是指进程中某个程序的工程实现 3.进程就好比厨房,线            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-21 10:10:50
                            
                                125阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录线程概念线程的生命周期线程的实现方式继承Thread类实现Runnable接口实现Callable接口线程的调度与优先级优先级调度线程的数据安全synchronized关键字守护线程与定时器线程的常用方法线程池创建方式 线程概念进程是一个应用程序,线程是一个进程中的执行场景/执行单元,一个进程可以启动多个线程。java程序执行过程中,至少有两个线程并发,一个是执行程序的主线程,一个是垃圾回收            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-11 06:29:36
                            
                                109阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            用户线程&守护线程&线程组&线程优先级如果把公司比喻成进程,那么你和我就是用户线程,后勤部门就是守护线程(负责给你订水,打扫办公环境等),每个项目组就是一个线程组,程序员等级就是优先级(高级程序员 总比初级程序员容易获取资源 概率大 但不是肯定)。一、 用户线程&守护线程public static void main(String[] args)   {Thread            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-10 14:04:13
                            
                                325阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。  
Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现来确定的。Linux 2.6上的HotSpot使用了NPTL机制,JVM线程跟内核轻量级进程有一一对应的关系。 
线程的调度完全交给了操作系统内核,当然jvm还保留一些策略            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-03 21:35:20
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具,它真正的线程池接口是ExecutorService。使用线程池能够为了防止资源不足,因为频繁创建和销毁线程会消耗大量资源,尤其是当线程执行时间>线程创建时间+线程销毁时间,此时会堆积大量线程。Java中,创建线程池有四种方式,如下:1)newCachedThreadPo            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 02:39:33
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            线程复用的实质就是在Tread内的Runnable的run()方法中不断的获取任务,执行任务。线程池内将保留核心线程数量的死循环线程,其余线程在没有任务时在超时间后若再无任务则销毁(run()方法执行结束)。任务获取这个方法内主要做3件事情:①检查线程池状态;②判断是否支持任务等待超时(timed);③跟据timed选择对应方法,从BlockingQueue中获取任务。在第三步中涉及到Blocki            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-11 17:01:35
                            
                                856阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            java多线程中,需要防止代码块受并发访问产生的干扰。比如下图的并发访问,如果不使用锁机制,就会产生问题可以看到这里之前线程2之前的5900被后来线程1写入的5500直接覆盖了,导致add  900 这个操作消失了。public class Bank {
    private final double[] accouts;
    public Bank(int n,double i            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-15 21:17:21
                            
                                256阅读
                            
                                                                             
                 
                
                                
                    