×

synchronized锁升级过程 synchronized chr

synchronized锁问题,呵呵挺有意思,整不明白了呢?怎么编译Chrome for Android

admin admin 发表于2022-07-08 07:53:45 浏览135 评论0

抢沙发发表评论

synchronized锁问题,呵呵挺有意思,整不明白了呢


m1和m2是两个不同的synchronized,不存在锁定问题,所以有没有synchronized都一样.

m1和m2哪个后执行就是第三个数.

执行过程:
创建并初始化b为100
m1或m2
主函数的输出

理论上应该m1先,但由于线程启动速度问题,有时也会m2先

怎么编译Chrome for Android


  编译Chrome for Android目前有两种方式,一是在ROM编译环境下编出libchromeview.so,二是用Chromium主干的代码编译出ContentShell(一个测试用的外壳,只包含核心的代码,不包含Chrome的扩展特性,这两种方式目前都只支持在64位Ubuntu下面进行。

  --------------------------------------------------------------------------------

  在ROM编译环境下编出libchromeview.so
  这种方式比较简单,下载当前版本Chrome for Android的tarball,解压后把Chrome目录放入ROM目录的$ROM/external下面,然后按照README.Chrome_for_Android_SourceDistribution里面的说明进行编译即可。
  1.编译出来的libchromeview.so,可以按照README.Chrome_for_Android_SourceDistribution说明打一个新的Chrome.apk运行,也可以直接替换掉手机里面/data/data/com.android.chrome/下面的libchromeview.so运行;
  2.不知道是不是版本不匹配的关系,用最新的Chrome搭配自己编译的libchromeview.so,复杂的网页会崩溃,简单的网页就还OK;
  3.可以输出日志(#include “/base/logging.h“),但是没法调试和跟踪(理论上应该可以使用命令行gdb进行调试,不过配置起来应该比较麻烦,没有去尝试);

  --------------------------------------------------------------------------------

  用Chromium主干的代码编译出ContentShell
  这种方式比较麻烦
  1.下载Chromium的tarball后需要使用gclient sync -nohooks同步新的代码,tarball里面的svn记录是1.6版本的,如果你的svn是1.7版本,需要先downgrade到1.6版本;
  2.同步最新代码的时候,如果提示guava和jsr-305这两个目录同步错误,需要先移除$SRC/third_party/guava和$SRC/third_party/jsr-305后再重新同步(后续新的tarball应该不需要了);
  3.gclient runhooks一直失败,不过貌似也不影响编译;
  4.如果编译时提示缺少$SRC/build/util/LASTCHANGE文件,可以从上面的Chrome for Android的tarball里面copy过来;
  5.运行build/android/adb_gdb_content_shell就可以使用gdb进行调试;
  6.adb_gdb_content_shell实际上调用了adb_gdb,adb_gdb在中文Ubuntu环境下有一个bug,第861行”if [ “$STATE“ != “Running“ ]; then“可能会失败,因为在中文环境STATE实际值可能是”运行中“,这一行需要改成”if [ “$STATE“ != “运行中“ ]; then“;

如何在ubuntu13.10安装谷歌浏览器chrome


用命令重启试试呢
sudo
shutdown
-r
now
出现代码是正常的,后面应该是保存退出的意思吧。