网络编程和多线程

原因:看了狂神的课,感觉不会的挺多的,这里速度补一下那个网络编程和多线程

网络编程:

开始了:

1.结束了,这个相关性并不是很大,而且讲的很多都是计算机网络的知识。这个在很多地方都看到过,虽然不是很精通,但还是有写了解的。

我是通过这个博客了解的:https://blog.csdn.net/allenfoxxxxx/article/details/90707505

多线程:

1.看了这个多线程的目录 之后,感觉其实和我今天上午上python课的多线程一样的案例,就是:线程的简介,然后线程的实现也就是线程的创建,就下来讲线程的状态和他的同步和通信。

2.开始继续看了。开始看了第一个,感觉还是有些要敲代码的,但是感觉有点慢,试着快一点

3.学会了run和start的区别,更加的深刻了。run是下先执行完之后再执行主方法的,start是直接和主方法同时执行的。

4.学了那个Theard和Runnable的开启多线程的区别,Thread类是继承后可以直接run和start的,Runnables是接口,继承重写后可以run不过想start只能通过创建线程对象,通过代理实现。优点是可以多继承

5.中断了一会儿时间,现在继续看。中间很多同学来了,然后有点拖延了。而且还有一个就是有同学说狂神的这个讲的不深,但是也入了门。加油继续看吧。

6.讲了一个新的方法,这边说了解一下。callable方法,并且这个有四个步骤,比较麻烦,好处在于可以定义返回值,可以抛出异常。(这个没有实现,因为他这个并没有讲清楚,埋个点)

7.静态代理,真实对象和代理对象都要实现同一个接口;代理对象要代理真实真实角色。

好处在于:代理对象可以很多真实对象做不了的事情,真实对象可以做自己的事情

8.lambda表达式,并且熟悉了局部内部函数,匿名内部类,接口,外部函数。这个使用接口的前提是函数式接口,参数可以去除参数类型,而且lambda里面可以接几个参数


新的一天,继续

1.Sleep可以模拟网络延时和倒计时等,每一个对象多有一个锁,sleep是不会释放锁的。

2.线程礼让,Yield让当前执行的线程暂停,不会阻塞,讲运行状态转为就绪状态;让cpu重新调度,可能成功可能不成功,看cpu心情。

3.线程插队,这个是用join,Join合并线程,待此线程完成后,在执行其他的线程,其他的线程阻塞。但是狂神的例子并不好,而且没有完全等待,是交替执行。看了其他的博客,发现这个并不是这么用的,插队的说法还是有失偏颇。

4.线程的状态,这个是讲了一个线程自带的方法检测,给延时了1秒钟可以看到阻塞状态,所以顺序就是:创建,就绪,阻塞,运行,死亡。

5.线程的优先级,方法getPriority,setPriority,1到10,主线程的最高,优先级高就先执行,建议优先级设置放在start前,也有小几率优先级低的先执行

5.守护线程,分为用户线程和守护线程,虚拟机确保用户线程执行完毕,不用等守护线程执行完毕,用于后台记录操作日志和监控内存和垃圾回收这些辅导型工具。

开启新的一天

今天开始继续学习了,然后就是继续看多线程了

1.昨天后面看了线程同步机制和三大不安全用例,通过加锁可以使他们同步。

2.死锁,就是相互拿着别人需要的东西,用static保证资源只有一份,这个还有他们的四个产生条件,这个老师之前上课也讲过。

3.Lock,也是锁和synchronize的区别分别是在于loke锁是显示锁,需要手动开关锁,synchronazed不需要,是隐式锁,loke只能锁代码块,放在try里面, synchronize可以锁代码块和方法,LOck性能更加的好

4.消费者和生产者模型,解决的方法,第一个,管程法,就是设置一个缓存区,一个好了通知另外一个。信号灯大,是通过标志位解决

5.接下来就是讲了线城池,就是创建一个小池子,然后把一些线程放进去接任务,之后就是可以直接取用。

6,之后总结的话有学习了使用callable接口,可以定义返回值和抛出异常,这个可以是Thread和Runable所没有的,这个就是复杂了一点

7,完结,撒花!!!



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容